Towards a tracing framework for Model-Driven software systems

Understanding software behavior by analyzing its execution traces is an important enabler for many software engineering tasks. In Model-Driven Development (MDD), dynamic analysis methods are often used to analyze executable models to enable the understanding of software behavior in early stages of the development process. An execution trace of a model can provide information to help reason about executable models. However, understanding an execution trace is not an easy task due to the size and complexity of typical traces. In this work, we aim at tackling this problem by proposing a model tracing framework, comprising compaction techniques to simplify the analysis of large traces at a higher level of abstraction, and a model tracing language, to capture run-time behavior of the executed model adequately.

[1]  Timothy Lethbridge,et al.  Specifying trace directives for UML attributes and state machines , 2014, 2014 2nd International Conference on Model-Driven Engineering and Software Development (MODELSWARD).

[2]  Kiyoshi Agusa,et al.  Execution Trace Abstraction Based on Meta Patterns Usage , 2012, 2012 19th Working Conference on Reverse Engineering.

[3]  Xavier Raynaud,et al.  Summarizing Embedded Execution Traces through a Compact View , 2010 .

[4]  Mark N. Wegman,et al.  Execution Patterns in Object-Oriented Visualization , 1998, COOTS.

[5]  Kiyoshi Agusa,et al.  Grouping Objects for Execution Trace Analysis Based on Design Patterns , 2013, 2013 20th Asia-Pacific Software Engineering Conference (APSEC).

[6]  Shahar Maoz,et al.  Using Model-Based Traces as Runtime Models , 2009, Computer.

[7]  Shinji Kusumoto,et al.  Extracting sequence diagram from execution trace of Java program , 2005, Eighth International Workshop on Principles of Software Evolution (IWPSE'05).

[8]  Atanas Rountev,et al.  Interactive Exploration of UML Sequence Diagrams , 2005, 3rd IEEE International Workshop on Visualizing Software for Understanding and Analysis.

[9]  Nick Mitchell,et al.  Visualizing the Execution of Java Programs , 2001, Software Visualization.

[10]  Timothy Lethbridge,et al.  Towards Tracing at the Model Level , 2012, 2012 19th Working Conference on Reverse Engineering.

[11]  Bernhard Rumpe,et al.  Proceedings of the 2008 international workshop on Models in software engineering , 2008, ICSE 2008.

[12]  Jean-Marc Jézéquel,et al.  Weaving executability into object-oriented meta-languages , 2005, MoDELS'05.

[13]  Lidia Fuentes,et al.  Dynamic Weaving of Aspect-Oriented Executable UML Models , 2009, LNCS Trans. Aspect Oriented Softw. Dev..

[14]  Bogdan Korel,et al.  Slicing Event Traces of Large Software Systems , 2000, AADEBUG.

[15]  Dhananjay M. Dhamdhere,et al.  A compact execution history for dynamic slicing , 2003, Inf. Process. Lett..

[16]  Philippe Dugerdil,et al.  Automatic generation of abstract views for legacy software comprehension , 2010, ISEC.

[17]  Kiyoshi Agusa,et al.  Sequence Diagram Slicing , 2009, 2009 16th Asia-Pacific Software Engineering Conference.

[18]  Benoît Combemale,et al.  A Generative Approach to Define Rich Domain-Specific Trace Metamodels , 2015, ECMFA.

[19]  Gerti Kappel,et al.  A runtime model for fUML , 2012, MRT '12.

[20]  Lidia Fuentes,et al.  Execution and simulation of (profiled) UML models using pópulo , 2008, MiSE '08.

[21]  Alan R. Hevner,et al.  Design Science in Information Systems Research , 2004, MIS Q..

[22]  Andy Zaidman,et al.  Managing trace data volume through a heuristical clustering process based on event execution frequency , 2004, Eighth European Conference on Software Maintenance and Reengineering, 2004. CSMR 2004. Proceedings..

[23]  Samir Chatterjee,et al.  A Design Science Research Methodology for Information Systems Research , 2008 .

[24]  Marie-Pierre Gervais,et al.  Executing and debugging UML models: an fUML extension , 2013, SAC '13.

[25]  Margaret-Anne D. Storey,et al.  Utilizing Debug Information to Compact Loops in Large Program Traces , 2010, 2010 14th European Conference on Software Maintenance and Reengineering.

[26]  Abdelwahab Hamou-Lhadj Techniques to simplify the analysis of execution traces for program comprehension , 2006 .

[27]  Bernhard Rumpe,et al.  Model-driven Development of Complex Software : A Research Roadmap , 2007 .

[28]  Rainer Koschke,et al.  Dynamic object process graphs , 2006, Conference on Software Maintenance and Reengineering (CSMR'06).