Incremental Co-Evolution of Java Programs based on Bidirectional Graph Transformation

Publikation: Konference artikel i Proceeding eller bog/rapport kapitelKonferencebidrag i proceedingsForskningpeer review

Abstract

Modern Java IDE aim at assisting object-oriented software development workflows with continuously interleaved co-evolution steps of program editing and program refactoring. Program editing usually comprises manually performed program changes applied by a programmer at source code level. In contrast, refactorings consist of behavior-preserving program restructuring rules with complex preconditions, usually formulated over an appropriate program abstraction. To integrate both steps into a comprehensive program evolution framework, we present a graph-based approach for incremental co-evolution of Java programs. Our approach is based on a concise graph-based representation of Java programs by means of a reduced abstract syntax tree, augmented with additional cross-tree edges denoting crucial semantic information. On this basis, a precise formal specification of object-oriented program refactorings can be defined in terms of endogenous graph-transformation rules. In addition, we use Triple Graph Grammars (TGG) to define exogenous bidirectional graph transformation rules for automated incremental synchronization between a program graph and the corresponding source code. Our implementation relies on the graph-transformation engine eMoflon and currently supports the Java refactorings Pull Up Method and Create Superclass.
OriginalsprogEngelsk
TitelProceedings of the Principles and Practices of Programming on The Java Platform - PPPJ '15
UdgivelsesstedNew York, USA
ForlagAssociation for Computing Machinery
Publikationsdato2015
Sider138-151
ISBN (Trykt)9781450337120
DOI
StatusUdgivet - 2015
Udgivet eksterntJa
BegivenhedThe Principles and Practices of Programming on the Java Platform - Melbourne, USA
Varighed: 8 sep. 201511 sep. 2015
https://dblp.org/rec/conf/pppj/2015.html

Konference

KonferenceThe Principles and Practices of Programming on the Java Platform
Land/OmrådeUSA
By Melbourne
Periode08/09/201511/09/2015
Internetadresse

Fingeraftryk

Dyk ned i forskningsemnerne om 'Incremental Co-Evolution of Java Programs based on Bidirectional Graph Transformation'. Sammen danner de et unikt fingeraftryk.

Citationsformater