Serenity: Library Based Python Code Analysis for Code Completion and Automated Machine Learning

Dynamically typed languages such as Python have become very popular. Among other strengths, Python's dynamic nature and its straightforward linking to native code have made it the de-facto language for many research areas such as Artificial Intelligence. This flexibility, however, makes static...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:arXiv.org 2023-01
Hauptverfasser: Zhao, Wenting, Ibrahim, Abdelaziz, Dolby, Julian, Srinivas, Kavitha, Helali, Mossad, Mansour, Essam
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page
container_issue
container_start_page
container_title arXiv.org
container_volume
creator Zhao, Wenting
Ibrahim, Abdelaziz
Dolby, Julian
Srinivas, Kavitha
Helali, Mossad
Mansour, Essam
description Dynamically typed languages such as Python have become very popular. Among other strengths, Python's dynamic nature and its straightforward linking to native code have made it the de-facto language for many research areas such as Artificial Intelligence. This flexibility, however, makes static analysis very hard. While creating a sound, or a soundy, analysis for Python remains an open problem, we present in this work Serenity, a framework for static analysis of Python that turns out to be sufficient for some tasks. The Serenity framework exploits two basic mechanisms: (a) reliance on dynamic dispatch at the core of language translation, and (b) extreme abstraction of libraries, to generate an abstraction of the code. We demonstrate the efficiency and usefulness of Serenity's analysis in two applications: code completion and automated machine learning. In these two applications, we demonstrate that such analysis has a strong signal, and can be leveraged to establish state-of-the-art performance, comparable to neural models and dynamic analysis respectively.
format Article
fullrecord <record><control><sourceid>proquest</sourceid><recordid>TN_cdi_proquest_journals_2765221338</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>2765221338</sourcerecordid><originalsourceid>FETCH-proquest_journals_27652213383</originalsourceid><addsrcrecordid>eNqNjM0KgkAURocgSMp3uNBa0Jn8oZ1J0cIgqL1Mec0RnbGZcTFvn1AP0OrAx_nOgniUsSjIdpSuiG9MF4YhTVIax8wj1Q01SmHdHkrx0Fw7OHCDNVydbZWEQtUIueS9M8JAo_R3KdQw9mjFbHBZQz5ZNXA73y782QqJUCLXUsjXhiwb3hv0f1yT7el4L87BqNV7QmOrTk167puKpklMacRYxv6zPjkvQ8w</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>2765221338</pqid></control><display><type>article</type><title>Serenity: Library Based Python Code Analysis for Code Completion and Automated Machine Learning</title><source>Free E- Journals</source><creator>Zhao, Wenting ; Ibrahim, Abdelaziz ; Dolby, Julian ; Srinivas, Kavitha ; Helali, Mossad ; Mansour, Essam</creator><creatorcontrib>Zhao, Wenting ; Ibrahim, Abdelaziz ; Dolby, Julian ; Srinivas, Kavitha ; Helali, Mossad ; Mansour, Essam</creatorcontrib><description>Dynamically typed languages such as Python have become very popular. Among other strengths, Python's dynamic nature and its straightforward linking to native code have made it the de-facto language for many research areas such as Artificial Intelligence. This flexibility, however, makes static analysis very hard. While creating a sound, or a soundy, analysis for Python remains an open problem, we present in this work Serenity, a framework for static analysis of Python that turns out to be sufficient for some tasks. The Serenity framework exploits two basic mechanisms: (a) reliance on dynamic dispatch at the core of language translation, and (b) extreme abstraction of libraries, to generate an abstraction of the code. We demonstrate the efficiency and usefulness of Serenity's analysis in two applications: code completion and automated machine learning. In these two applications, we demonstrate that such analysis has a strong signal, and can be leveraged to establish state-of-the-art performance, comparable to neural models and dynamic analysis respectively.</description><identifier>EISSN: 2331-8422</identifier><language>eng</language><publisher>Ithaca: Cornell University Library, arXiv.org</publisher><subject>Artificial intelligence ; Automation ; Language translation ; Machine learning ; Python</subject><ispartof>arXiv.org, 2023-01</ispartof><rights>2023. This work is published under http://arxiv.org/licenses/nonexclusive-distrib/1.0/ (the “License”). Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License.</rights><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>780,784</link.rule.ids></links><search><creatorcontrib>Zhao, Wenting</creatorcontrib><creatorcontrib>Ibrahim, Abdelaziz</creatorcontrib><creatorcontrib>Dolby, Julian</creatorcontrib><creatorcontrib>Srinivas, Kavitha</creatorcontrib><creatorcontrib>Helali, Mossad</creatorcontrib><creatorcontrib>Mansour, Essam</creatorcontrib><title>Serenity: Library Based Python Code Analysis for Code Completion and Automated Machine Learning</title><title>arXiv.org</title><description>Dynamically typed languages such as Python have become very popular. Among other strengths, Python's dynamic nature and its straightforward linking to native code have made it the de-facto language for many research areas such as Artificial Intelligence. This flexibility, however, makes static analysis very hard. While creating a sound, or a soundy, analysis for Python remains an open problem, we present in this work Serenity, a framework for static analysis of Python that turns out to be sufficient for some tasks. The Serenity framework exploits two basic mechanisms: (a) reliance on dynamic dispatch at the core of language translation, and (b) extreme abstraction of libraries, to generate an abstraction of the code. We demonstrate the efficiency and usefulness of Serenity's analysis in two applications: code completion and automated machine learning. In these two applications, we demonstrate that such analysis has a strong signal, and can be leveraged to establish state-of-the-art performance, comparable to neural models and dynamic analysis respectively.</description><subject>Artificial intelligence</subject><subject>Automation</subject><subject>Language translation</subject><subject>Machine learning</subject><subject>Python</subject><issn>2331-8422</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2023</creationdate><recordtype>article</recordtype><sourceid>ABUWG</sourceid><sourceid>AFKRA</sourceid><sourceid>AZQEC</sourceid><sourceid>BENPR</sourceid><sourceid>CCPQU</sourceid><sourceid>DWQXO</sourceid><recordid>eNqNjM0KgkAURocgSMp3uNBa0Jn8oZ1J0cIgqL1Mec0RnbGZcTFvn1AP0OrAx_nOgniUsSjIdpSuiG9MF4YhTVIax8wj1Q01SmHdHkrx0Fw7OHCDNVydbZWEQtUIueS9M8JAo_R3KdQw9mjFbHBZQz5ZNXA73y782QqJUCLXUsjXhiwb3hv0f1yT7el4L87BqNV7QmOrTk167puKpklMacRYxv6zPjkvQ8w</recordid><startdate>20230105</startdate><enddate>20230105</enddate><creator>Zhao, Wenting</creator><creator>Ibrahim, Abdelaziz</creator><creator>Dolby, Julian</creator><creator>Srinivas, Kavitha</creator><creator>Helali, Mossad</creator><creator>Mansour, Essam</creator><general>Cornell University Library, arXiv.org</general><scope>8FE</scope><scope>8FG</scope><scope>ABJCF</scope><scope>ABUWG</scope><scope>AFKRA</scope><scope>AZQEC</scope><scope>BENPR</scope><scope>BGLVJ</scope><scope>CCPQU</scope><scope>DWQXO</scope><scope>HCIFZ</scope><scope>L6V</scope><scope>M7S</scope><scope>PIMPY</scope><scope>PQEST</scope><scope>PQQKQ</scope><scope>PQUKI</scope><scope>PRINS</scope><scope>PTHSS</scope></search><sort><creationdate>20230105</creationdate><title>Serenity: Library Based Python Code Analysis for Code Completion and Automated Machine Learning</title><author>Zhao, Wenting ; Ibrahim, Abdelaziz ; Dolby, Julian ; Srinivas, Kavitha ; Helali, Mossad ; Mansour, Essam</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-proquest_journals_27652213383</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2023</creationdate><topic>Artificial intelligence</topic><topic>Automation</topic><topic>Language translation</topic><topic>Machine learning</topic><topic>Python</topic><toplevel>online_resources</toplevel><creatorcontrib>Zhao, Wenting</creatorcontrib><creatorcontrib>Ibrahim, Abdelaziz</creatorcontrib><creatorcontrib>Dolby, Julian</creatorcontrib><creatorcontrib>Srinivas, Kavitha</creatorcontrib><creatorcontrib>Helali, Mossad</creatorcontrib><creatorcontrib>Mansour, Essam</creatorcontrib><collection>ProQuest SciTech Collection</collection><collection>ProQuest Technology Collection</collection><collection>Materials Science &amp; Engineering Collection</collection><collection>ProQuest Central (Alumni Edition)</collection><collection>ProQuest Central UK/Ireland</collection><collection>ProQuest Central Essentials</collection><collection>ProQuest Central</collection><collection>Technology Collection</collection><collection>ProQuest One Community College</collection><collection>ProQuest Central Korea</collection><collection>SciTech Premium Collection</collection><collection>ProQuest Engineering Collection</collection><collection>Engineering Database</collection><collection>Publicly Available Content Database</collection><collection>ProQuest One Academic Eastern Edition (DO NOT USE)</collection><collection>ProQuest One Academic</collection><collection>ProQuest One Academic UKI Edition</collection><collection>ProQuest Central China</collection><collection>Engineering Collection</collection></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Zhao, Wenting</au><au>Ibrahim, Abdelaziz</au><au>Dolby, Julian</au><au>Srinivas, Kavitha</au><au>Helali, Mossad</au><au>Mansour, Essam</au><format>book</format><genre>document</genre><ristype>GEN</ristype><atitle>Serenity: Library Based Python Code Analysis for Code Completion and Automated Machine Learning</atitle><jtitle>arXiv.org</jtitle><date>2023-01-05</date><risdate>2023</risdate><eissn>2331-8422</eissn><abstract>Dynamically typed languages such as Python have become very popular. Among other strengths, Python's dynamic nature and its straightforward linking to native code have made it the de-facto language for many research areas such as Artificial Intelligence. This flexibility, however, makes static analysis very hard. While creating a sound, or a soundy, analysis for Python remains an open problem, we present in this work Serenity, a framework for static analysis of Python that turns out to be sufficient for some tasks. The Serenity framework exploits two basic mechanisms: (a) reliance on dynamic dispatch at the core of language translation, and (b) extreme abstraction of libraries, to generate an abstraction of the code. We demonstrate the efficiency and usefulness of Serenity's analysis in two applications: code completion and automated machine learning. In these two applications, we demonstrate that such analysis has a strong signal, and can be leveraged to establish state-of-the-art performance, comparable to neural models and dynamic analysis respectively.</abstract><cop>Ithaca</cop><pub>Cornell University Library, arXiv.org</pub><oa>free_for_read</oa></addata></record>
fulltext fulltext
identifier EISSN: 2331-8422
ispartof arXiv.org, 2023-01
issn 2331-8422
language eng
recordid cdi_proquest_journals_2765221338
source Free E- Journals
subjects Artificial intelligence
Automation
Language translation
Machine learning
Python
title Serenity: Library Based Python Code Analysis for Code Completion and Automated Machine Learning
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2024-12-27T15%3A06%3A20IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest&rft_val_fmt=info:ofi/fmt:kev:mtx:book&rft.genre=document&rft.atitle=Serenity:%20Library%20Based%20Python%20Code%20Analysis%20for%20Code%20Completion%20and%20Automated%20Machine%20Learning&rft.jtitle=arXiv.org&rft.au=Zhao,%20Wenting&rft.date=2023-01-05&rft.eissn=2331-8422&rft_id=info:doi/&rft_dat=%3Cproquest%3E2765221338%3C/proquest%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=2765221338&rft_id=info:pmid/&rfr_iscdi=true