Specification and Construction of Control Flow Semantics

In this paper we propose a visual language CFSL for specifying control flow semantics of programming languages. We also present a translation from CFSL to graph production systems (GPS) for flow graph construction; that is, any CFSL specification, say for a language L, gives rise to a GPS that constructs from any L-program (represented as an abstract syntax graph) the corresponding flow graph. The specification language is rich enough to capture complex language constructs, including all of Java

[1]  Dániel Varró,et al.  Using Graph Transformation for Practical Model-Driven Software Engineering , 2005, Model-Driven Software Development.

[2]  Reiko Heckel,et al.  Graph Transformation for Verification and Concurrency , 2005 .

[3]  Reiko Heckel,et al.  Graph Grammars with Negative Application Conditions , 1996, Fundam. Informaticae.

[4]  Edsger W. Dijkstra,et al.  Go To Statement Considered Harmful , 2022, Software Pioneers.

[5]  James Gosling,et al.  The Java Language Specification, 3rd Edition , 2005 .

[6]  Guy L. Steele,et al.  Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley)) , 2005 .

[7]  Andy Schürr,et al.  Specification of Graph Translators with Triple Graph Grammars , 1994, WG.

[8]  Arend Rensink,et al.  The Joys of Graph Transformation , 2005 .

[9]  Fernando Luís Dotti,et al.  Translating Java Code to Graph Transformation Systems , 2004, ICGT.

[10]  Franz J. Kurfess,et al.  Computing Cyclomatic Complexity with Cubic Flowgraphs , 2001, J. Syst. Integr..

[11]  Yuri Gurevich,et al.  The Semantics of the C Programming Language , 1992, CSL.

[12]  Lars Grunske,et al.  A Graphical Specification of Model Transformations with Triple Graph Grammars , 2005, ECMDA-FA.

[13]  R. M. Smelik Specification and Construction of Control Flow Semantics : a generic approach using graph transformations , 2006 .

[14]  Shari Lawrence Pfleeger,et al.  Software Metrics : A Rigorous and Practical Approach , 1998 .

[15]  Alfonso Pierantonio,et al.  Enhanced Control Flow Graphs in Montages , 1999, Ershov Memorial Conference.

[16]  Grzegorz Rozenberg,et al.  Handbook of Graph Grammars and Computing by Graph Transformations, Volume 1: Foundations , 1997 .

[17]  Reiko Heckel,et al.  Algebraic Approaches to Graph Transformation - Part II: Single Pushout Approach and Comparison with Double Pushout Approach , 1997, Handbook of Graph Grammars.

[18]  Arend Rensink,et al.  Engineering Object-Oriented Semantics Using Graph Transformations , 2006 .

[19]  Shari Lawrence Pfleeger,et al.  Software metrics (2nd ed.): a rigorous and practical approach , 1997 .

[20]  Arend Rensink The GROOVE Simulator: A Tool for State Space Generation , 2003, AGTIVE.

[21]  A. Rensink,et al.  Graphs for Object-Oriented Verification , 2004 .

[22]  Hartmut Ehrig,et al.  Handbook of graph grammars and computing by graph transformation: vol. 3: concurrency, parallelism, and distribution , 1999 .

[23]  Anneke Kleppe,et al.  MDA explained - the Model Driven Architecture: practice and promise , 2003, Addison Wesley object technology series.

[24]  Guy L. Steele,et al.  The Java Language Specification , 1996 .

[25]  Lawrence Clark,et al.  A linguistic contribution to GOTO-less programming , 1984, CACM.