A trace simplification framework

Execution trace analysis is particularly valuable in the context of object-oriented program comprehension. However, coping with object-oriented execution traces is a very difficult task. In particular, because of coupling, current object-oriented systems lead to form a very complicated interwoven lattice of dependencies which is known as “Spaghetti Architectures” phenomenon. Therefore, trace reduction techniques are used to make execution traces more tractable and less difficult. This research focuses on establishing a trace simplification framework that depends on decoupling. Decoupling is a very useful in reducing the complexity of execution traces for comprehension process. In particular, decoupling could truthfully lessen the problem of “Spaghetti Architectures” phenomenon without removing trace components and creating several holes and gaps in trace structure. For this purpose, a set of related challenges is posed and addressed in order to develop the framework properly. The framework is based on combination of three components namely, scope filtering, utility detection, and utility decoupling components.

[1]  Abdelwahab Hamou-Lhadj,et al.  Quality of the Source Code for Design and Architecture Recovery Techniques: Utilities are the Problem , 2009, 2009 Ninth International Conference on Quality Software.

[2]  Mohammad Rasmi,et al.  Improving Analysis Phase in Network Forensics By Using Attack Intention Analysis , 2016 .

[3]  Co. KG Thomas-Dehler Decoupling of Object-Oriented Systems A Collection of Patterns , 1997 .

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

[5]  Margaret-Anne D. Storey,et al.  Theories, tools and research methods in program comprehension: past, present and future , 2006, Software Quality Journal.

[6]  Jeff Offutt,et al.  Coupling-based analysis of object-oriented software , 2007 .

[7]  Abdelwahab Hamou-Lhadj,et al.  Approach for solving the feature location problem by measuring the component modification impact , 2009, IET Softw..

[8]  Abdelwahab Hamou-Lhadj,et al.  Software Clustering Using Dynamic Analysis and Static Dependencies , 2009, 2009 13th European Conference on Software Maintenance and Reengineering.

[9]  Abdelwahab Hamou-Lhadj Timothy C. Lethbridge An Efficient Algorithm for Detecting Patterns in Traces of Procedure Calls , 2005 .

[10]  Abdelwahab Hamou-Lhadj,et al.  Summarizing the Content of Large Traces to Facilitate the Understanding of the Behaviour of a Software System , 2006, 14th IEEE International Conference on Program Comprehension (ICPC'06).

[11]  Heidar Pirzadeh Tabari Trace Abstraction Framework and Techniques , 2012 .

[12]  David Notkin,et al.  Software Reflexion Models: Bridging the Gap between Design and Implementation , 2001, IEEE Trans. Software Eng..

[13]  Edward Yourdon,et al.  Object-oriented design , 1991, Yourdon Press Computing Series.

[14]  Arie van Deursen,et al.  A Controlled Experiment for Program Comprehension through Trace Visualization , 2011, IEEE Transactions on Software Engineering.

[15]  Hausi A. Müller,et al.  A reverse-engineering approach to subsystem structure identification , 1993, J. Softw. Maintenance Res. Pract..

[16]  Sebastiaan Gijsbert Marinus Cornelissen,et al.  Evaluating Dynamic Analysis Techniques for Program Comprehension , 2009 .

[17]  Abdelwahab Hamou-Lhadj,et al.  Understanding the complexity embedded in large routine call traces with a focus on program comprehension tasks , 2010, IET Softw..

[18]  Gail C. Murphy,et al.  Scaling an object-oriented system execution visualizer through sampling , 2003, 11th IEEE International Workshop on Program Comprehension, 2003..

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

[20]  Glenford J. Myers,et al.  Structured Design , 1999, IBM Syst. J..

[21]  Michael D. Bond,et al.  Correcting the Dynamic Call Graph Using Control-Flow Constraints , 2007, CC.

[22]  Vassilios Tzerpos,et al.  Software clustering based on omnipresent object detection , 2005, 13th International Workshop on Program Comprehension (IWPC'05).

[23]  Abu Al-Ese,et al.  Static Analyser for Java-Based Object-Oriented Software Metrics , 1999 .