Change detection in hierarchically structured information
SIGMOD '96 Proceedings of the 1996 ACM SIGMOD international conference on Management of data
Towards the Reverse Engineering of UML Sequence Diagrams
WCRE '03 Proceedings of the 10th Working Conference on Reverse Engineering
Generating Test Cases from UML Activity Diagram based on Gray-Box Method
APSEC '04 Proceedings of the 11th Asia-Pacific Software Engineering Conference
Toward the Reverse Engineering of UML Sequence Diagrams for Distributed Java Software
IEEE Transactions on Software Engineering
Change Distilling: Tree Differencing for Fine-Grained Source Code Change Extraction
IEEE Transactions on Software Engineering
A Synchronizing Technique for Syntactic Model-Code Round-Trip Engineering
ECBS '08 Proceedings of the 15th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems
Incremental model transformation for the evolution of model-driven systems
MoDELS'06 Proceedings of the 9th international conference on Model Driven Engineering Languages and Systems
GRoundTram: An integrated framework for developing well-behaved bidirectional model transformations
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Maintaining invariant traceability through bidirectional transformations
Proceedings of the 34th International Conference on Software Engineering
Hi-index | 0.00 |
It is well-known that as software system evolves, the source code tends to deviate from its design model so that maintaining their consistence is challenging. Our objective is to detect code changes that influence designed program behaviour which are referred as design level changes and update the behavioural model timely and automatically to maintain consistence. We propose an approach that filters out low-level source code changes that do not influence program behaviour, abstracts code changes into updating operations for behavioral model, and automates the integration and update of activity diagrams to maintain consistence. We've recognised that it is not uncommon for developers to introduce quick and dirty implementation that unnecessarily increases program complexity or introduces suboptimal behaviour changes. So while merging code changes into behaviour model, our approach also calculates cyclometric complexity variation before and after the process so that developers can be alerted of significant and/or detrimental changes. Our tool allows the user to approve the change in code before merging and updating the model.