Title
Supporting Program Analysis for Non-Mainstream Languages: Experiences and Lessons Learned
Abstract
Static code analysis techniques are widely and successfully used for mainstream programming languages. However, domain-specific languages and company-specific variations of languages often lack the same level of support. An example is the domain of industrial automation, where programmable logic controller programs are mainly written in languages conforming to the IEC 61131-3 standard, a non-mainstream family of languages. This experience paper reports about the development of a program analysis framework for the IEC 61131-3 languages. We use OMG's Abstract Syntax Tree Meta-Model (ASTM) as an abstract representation and show our extensions of this model to represent the different IEC 61131-3 languages. Using this representation our approach generates Jimple code, an intermediate representation used by the Soot program analysis framework. We use Soot's standard analysis methods to compute a system dependence graph, which is then used for change impact analysis. We apply our approach to industrial-size product lines of our industry partner to demonstrate its correctness and performance. Finally, we discuss experiences and lessons learned intended for developers of program analysis methods for nonmainstream languages.
Year
DOI
Venue
2016
10.1109/SANER.2016.15
2016 IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER)
Keywords
Field
DocType
Language transformation,program analysis,maintenance,change impact analysis
Document Schema Definition Languages,Fifth-generation programming language,Second-generation programming language,Programming language,Comparison of multi-paradigm programming languages,Software engineering,Computer science,Control flow analysis,Program analysis,Third-generation programming language,Ontology language
Conference
Volume
Citations 
PageRank 
1
5
0.42
References 
Authors
18
4
Name
Order
Citations
PageRank
Andreas Grimmer1667.44
Florian Angerer21076.78
Herbert Prähofer318917.00
Paul Grünbacher42007118.84