The case for analysis preserving language transformation

Xiaolan Zhang, Larry Koved, Marco Pistoia, Sam Weber, Trent Jaeger, Guillaume Marceau, Liangzhao Zeng

Research output: Chapter in Book/Report/Conference proceedingConference contribution

9 Scopus citations

Abstract

Static analysis has gained much attention over the past few years in applications such as bug finding and program verification. As software becomes more complex and componentized, it is common for software systems and applications to be implemented in multiple languages. There is thus a strong need for developing analysis tools for multi-language software. We introduce a technique called Analysis Preserving Language Transformation (APLT) that enables the analysis of multi-language software, and also allows analysis tools for one language to be applied to programs written in another. APLT preserves data and control flow information needed to perform static analyses, but allows the translation to deviate from the original program's semantics in ways that are not pertinent to the particular analysis. We discuss major technical difficulties in building such a translator, using a C-to-Java translator as an example. We demonstrate the feasibility and effectiveness of APLT using two usage cases: analysis of the Java runtime native methods and reuse of Java analysis tools for C. Our preliminary results show that a control- and data-flow equivalent model for native methods can eliminate unsoundness and produce reliable results, and that APLT enables seamless reuse of analysis tools for checking high-level program properties.

Original languageEnglish (US)
Title of host publicationProceedings of the 2006 International Symposium on Software Testing and Analysis, ISSTA 2006
Pages191-201
Number of pages11
DOIs
StatePublished - 2006
Event2006 International Symposium on Software Testing and Analysis, ISSTA 2006 - Portland, ME, United States
Duration: Jul 17 2006Jul 20 2006

Publication series

NameProceedings of the 2006 International Symposium on Software Testing and Analysis, ISSTA 2006
Volume2006

Other

Other2006 International Symposium on Software Testing and Analysis, ISSTA 2006
Country/TerritoryUnited States
CityPortland, ME
Period7/17/067/20/06

All Science Journal Classification (ASJC) codes

  • Software

Fingerprint

Dive into the research topics of 'The case for analysis preserving language transformation'. Together they form a unique fingerprint.

Cite this