Projects per year
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.
Original language | English |
---|---|
Title of host publication | IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering (SANER 2016) |
Editors | Proceedings 23rd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER 2016) |
Publisher | IEEE |
Pages | 460-469 |
Number of pages | 10 |
ISBN (Print) | 978-1-5090-1855-0 |
DOIs | |
Publication status | Published - Mar 2016 |
Fields of science
- 102 Computer Sciences
- 102009 Computer simulation
- 102011 Formal languages
- 102013 Human-computer interaction
- 102022 Software development
- 102029 Practical computer science
JKU Focus areas
- Computation in Informatics and Mathematics
- Engineering and Natural Sciences (in general)
Projects
- 1 Finished
-
Christian Doppler Labor für Monitoring and Evolution of Very-Large-Scale Software Systems
Grünbacher, P. (PI)
01.02.2013 → 31.08.2020
Project: Funded research › Other mainly public funds