Loading [MathJax]/extensions/TeX/ietmacros.js
Supporting Program Analysis for Non-Mainstream Languages: Experiences and Lessons Learned | IEEE Conference Publication | IEEE Xplore

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 ...Show More

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.
Date of Conference: 14-18 March 2016
Date Added to IEEE Xplore: 23 May 2016
Electronic ISBN:978-1-5090-1855-0
Conference Location: Osaka, Japan

References

References is not available for this document.