Designing and implementing control flow graph for magic 4th generation language

A good compiler which implements many optimizations during its compilation phases must be able to perform several static analysis techniques such as control flow or data flow analysis. Besides compilers, these techniques are common for static analyzers as well to retrieve information from source cod...

Full description

Saved in:
Bibliographic Details
Main Authors: Dévai Richárd
Jász Judit
Nagy Csaba
Ferenc Rudolf
Corporate Author: Symposium on Programming Languages and Software Tools (2013) (Szeged)
Format: Article
Published: 2014
Series:Acta cybernetica 21 No. 3
Kulcsszavak:Számítástechnika
Subjects:
doi:10.14232/actacyb.21.3.2014.9

Online Access:http://acta.bibl.u-szeged.hu/34477
Description
Summary:A good compiler which implements many optimizations during its compilation phases must be able to perform several static analysis techniques such as control flow or data flow analysis. Besides compilers, these techniques are common for static analyzers as well to retrieve information from source code, for example for code auditing, quality assurance or testing purposes. Implementing control flow analysis requires handling many special structures of the target language. In our paper we present our experiences in implementing control flow graph (CFG) construction for a special 4th generation language called Magic. While we were designing and implementing the CFG for this language, we identified differences compared to 3rd generation languages mostly because of the unique programming technique of Magic (e.g. data access, parallel task execution, events). Our work was motivated by our industrial partner who needed precise static analysis tools (e.g. for quality assurance or testing purposes) for this language. We believe that our experiences for Magic, as a representative of 4GLs, might be generalized for other languages too.
Physical Description:419-437
ISSN:0324-721X