AXA: Cross-Language Analysis through Integration of Single-Language Analyses

Modern software is often implemented in multiple interacting programming languages. When performing static analysis of such software, it is desirable to reuse existing single-language analyses to allow access to the results of decades of implementation effort.However, there are major challenges for...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:IEEE/ACM International Conference on Automated Software Engineering : [proceedings] S. 1195 - 1205
Hauptverfasser: Roth, Tobias, Naumann, Julius, Helm, Dominik, Keidel, Sven, Mezini, Mira
Format: Tagungsbericht
Sprache:Englisch
Veröffentlicht: ACM 27.10.2024
Schlagworte:
ISSN:2643-1572
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Abstract Modern software is often implemented in multiple interacting programming languages. When performing static analysis of such software, it is desirable to reuse existing single-language analyses to allow access to the results of decades of implementation effort.However, there are major challenges for this approach. In this paper, we analyze them and present AXA, an architecture that addresses them and enables cross-language analysis by integrating single-language analyses.To evaluate AXA, we implemented a cross-language points-to analysis for Java applications that interact with native code via Java Native Interface (JNI) and with JavaScript code via Java's ScriptEngine. The evaluation shows that AXA enables significant reuse of existing static analyses. It also shows that AXA supports complex interactions and significantly increased recall of reused analyses without compromising precision.
AbstractList Modern software is often implemented in multiple interacting programming languages. When performing static analysis of such software, it is desirable to reuse existing single-language analyses to allow access to the results of decades of implementation effort.However, there are major challenges for this approach. In this paper, we analyze them and present AXA, an architecture that addresses them and enables cross-language analysis by integrating single-language analyses.To evaluate AXA, we implemented a cross-language points-to analysis for Java applications that interact with native code via Java Native Interface (JNI) and with JavaScript code via Java's ScriptEngine. The evaluation shows that AXA enables significant reuse of existing static analyses. It also shows that AXA supports complex interactions and significantly increased recall of reused analyses without compromising precision.
Author Roth, Tobias
Helm, Dominik
Keidel, Sven
Naumann, Julius
Mezini, Mira
Author_xml – sequence: 1
  givenname: Tobias
  surname: Roth
  fullname: Roth, Tobias
  email: roth@cs.tu-darmstadt.de
  organization: Technische Universität Darmstadt,ATHENE,Department of Computer Science,Darmstadt,Germany
– sequence: 2
  givenname: Julius
  surname: Naumann
  fullname: Naumann, Julius
  email: julius.naeumann@tu-darmstadt.de
  organization: Technische Universität Darmstadt,ATHENE,Department of Computer Science,Darmstadt,Germany
– sequence: 3
  givenname: Dominik
  surname: Helm
  fullname: Helm, Dominik
  email: helm@cs.tu-darmstadt.de
  organization: Technische Universität Darmstadt,ATHENE,Department of Computer Science,Darmstadt,Germany
– sequence: 4
  givenname: Sven
  surname: Keidel
  fullname: Keidel, Sven
  organization: Technische Universität Darmstadt,Department of Computer Science,Darmstadt,Germany
– sequence: 5
  givenname: Mira
  surname: Mezini
  fullname: Mezini, Mira
  email: mezini@cs.tu-darmstadt.de
  organization: Technische Universität Darmstadt,ATHENE,Department of Computer Science,Darmstadt,Germany
BookMark eNpdjLtOwzAUQA0CiVIyszD4B1J8_TZbFPGoFIkBkNgqJ_FNLQUHxenQv6cSTEznDEfnmlykKQVCboFtAKS6F9qB5mxzogYnzkjhjLOSMQNcWnNOVlxLUYIy_IoUOceWnVRpAL0iTfVZPdB6nnIuG5-Ggx8CrZIfjzlmuuzn6TDs6TYtYZj9EqdEJ6RvMQ1j-N-HfEMu0Y85FH9ck4-nx_f6pWxen7d11ZSeW7eUHNEK50Tfhx67DiVH1xmEtmXCmF4ZZVoA3nELqpXWoeDaeoWyk7IX6MSa3P1-Ywhh9z3HLz8fd8CMllYr8QMVbU_B
CODEN IEEPAD
ContentType Conference Proceeding
DBID 6IE
6IL
CBEJK
RIE
RIL
DOI 10.1145/3691620.3696193
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
IEEE Xplore POP ALL
IEEE Xplore All Conference Proceedings
IEEE/IET Electronic Library
IEEE Proceedings Order Plans (POP All) 1998-Present
DatabaseTitleList
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE/IET Electronic Library
  url: https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISBN 9798400712487
EISSN 2643-1572
EndPage 1205
ExternalDocumentID 10764865
Genre orig-research
GrantInformation_xml – fundername: Ministry of Education
  funderid: 10.13039/501100002701
GroupedDBID 6IE
6IF
6IH
6IK
6IL
6IM
6IN
6J9
AAJGR
AAWTH
ABLEC
ACREN
ADYOE
ADZIZ
AFYQB
ALMA_UNASSIGNED_HOLDINGS
AMTXH
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
CBEJK
CHZPO
IEGSK
IPLJI
M43
OCL
RIE
RIL
ID FETCH-LOGICAL-a289t-2ff83993ddedfccf42f9c7f1bb0377d5757b112c2815b489f3268a5f4c44d3f93
IEDL.DBID RIE
ISICitedReferencesCount 1
ISICitedReferencesURI http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=001353105400096&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
IngestDate Wed Jan 15 06:20:39 EST 2025
IsDoiOpenAccess false
IsOpenAccess true
IsPeerReviewed false
IsScholarly true
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-a289t-2ff83993ddedfccf42f9c7f1bb0377d5757b112c2815b489f3268a5f4c44d3f93
OpenAccessLink https://doi.org/10.1145/3691620.3696193
PageCount 11
ParticipantIDs ieee_primary_10764865
PublicationCentury 2000
PublicationDate 2024-Oct.-27
PublicationDateYYYYMMDD 2024-10-27
PublicationDate_xml – month: 10
  year: 2024
  text: 2024-Oct.-27
  day: 27
PublicationDecade 2020
PublicationTitle IEEE/ACM International Conference on Automated Software Engineering : [proceedings]
PublicationTitleAbbrev ASE
PublicationYear 2024
Publisher ACM
Publisher_xml – name: ACM
SSID ssib057256116
ssj0051577
Score 2.2860947
Snippet Modern software is often implemented in multiple interacting programming languages. When performing static analysis of such software, it is desirable to reuse...
SourceID ieee
SourceType Publisher
StartPage 1195
SubjectTerms Benchmark testing
Codes
Computer architecture
Computer languages
Java
Multi-language
Software
Software engineering
Static analysis
Title AXA: Cross-Language Analysis through Integration of Single-Language Analyses
URI https://ieeexplore.ieee.org/document/10764865
WOSCitedRecordID wos001353105400096&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV3LSgMxFA22uHBVHxXfZOE22kkyuYm7UiwKpRRU6K7kCYK00offb5JmVAQX7maGYRiSyT3n5s45F6HrnndCAjcEtLYkIlRNNNMunVIL2fQsC4VHMB7L6VRNilg9a2G89_nnM3-TDnMt3y3sJm2VxRUOgktRt1ALQGzFWs3HU0ME7ypxnW0YjjgNULx8Kl7fMhGJEI05qlAil5l_NFPJWDLs_PMt9lH3W5WHJ194c4B2_PwQdZq2DLis0iM06k_7d3iQ4I-MynYkbsxHcGnMgx-LT0ScF7wI-Ck-8s3_vt-vuuhleP88eCClaQLRMXdaExqCTKQjhi0XrA2cBmUhVMb0GICL7AxM5FiWyqo2XKoQ-ZvUdeCWc8eCYseoPV_M_QnC1iipqsBStY6nvKUCk-zinNCeUWZOUTeNzux964sxawbm7I_r52iPRkqQIj-FC9ReLzf-Eu3aj_XranmVZ_MTdqCe-g
linkProvider IEEE
linkToHtml http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV1dS8MwFL3oFPRpfkz8Ng--RtckbRLfhjg2rGPghL2NJE1AkE324e83yVIVwQff2hJCSZqcc3N7zgW4btuqEJxpzJUy2CNUjhVVVbglhkfTsygULvlgIMZjOUxi9aiFsdbGn8_sTbiMufxqZlbhqMyvcF4wUeSbsBVKZyW5Vv355NzDdxbYznoj9kjNeXLzyVh-SwtPhYiPUgtZxETzj3IqEU26zX--xx60vnV5aPiFOPuwYacH0KwLM6C0Tg-h7Iw7d-g-ACAu04Ekqu1HUCrNg_rJKcLPDJo59Oy7fLO_29tFC166D6P7Hk5lE7Dy0dMSE-dEoB1-46qcMY4RJw13mdZtynnl-RnXnmUZIrJcMyGdZ3BC5Y4ZxirqJD2CxnQ2tceAjJZCZo6GfB0LkUvGdTCMqwplKaH6BFphdCbva2eMST0wp388v4Kd3uipnJT9weMZ7BJPEAIOEH4OjeV8ZS9g23wsXxfzyzizn_EbokM
openUrl ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Abook&rft.genre=proceeding&rft.title=IEEE%2FACM+International+Conference+on+Automated+Software+Engineering+%3A+%5Bproceedings%5D&rft.atitle=AXA%3A+Cross-Language+Analysis+through+Integration+of+Single-Language+Analyses&rft.au=Roth%2C+Tobias&rft.au=Naumann%2C+Julius&rft.au=Helm%2C+Dominik&rft.au=Keidel%2C+Sven&rft.date=2024-10-27&rft.pub=ACM&rft.eissn=2643-1572&rft.spage=1195&rft.epage=1205&rft_id=info:doi/10.1145%2F3691620.3696193&rft.externalDocID=10764865