Skip to main content
Log in

A metamodel for the compact but lossless exchange of execution traces

  • Theme Section
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

Understanding the behavioural aspects of a software system can be made easier if efficient tool support is provided. Lately, there has been an increase in the number of tools for analysing execution traces. These tools, however, have different formats for representing execution traces, which hinders interoperability and limits reuse and sharing of data. To allow for better synergies among trace analysis tools, it would be beneficial to develop a standard format for exchanging traces. In this paper, we present a graph-based format, called compact trace format (CTF), which we hope will lead the way towards such a standard. CTF can model traces generated from a variety of programming languages, including both object-oriented and procedural ones. CTF is built with scalability in mind to overcome the vast size of most interesting traces. Indeed, the design of CTF is based on the idea that call trees can be transformed into more compact ordered acyclic directed graphs by representing similar subtrees only once. CTF is also supported by our trace analysis tool SEAT (Software Exploration and Analysis Tool).

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Bowman, T., Godfrey, M.W., Holt, R.C.: Connecting Architecture Reconstruction Frameworks. In: Proc. of the 1st International Symposium on Constructing Software Engineering Tools (CoSET’99), pp 43–54. Los Angeles, CA (1999)

  2. Brown, R., Driesen, K., Eng, D., Hendren, L., Jorgensen, J., Verbrugge, C., Wang, Q.: STEP: a framework for the efficient encoding of general trace data. Workshop on Program Analysis for Software Tools and Engineering, pp. 27–34. South Carolina, USA (2002)

  3. Chan, A., Holmes, R., Murphy, G.C., Ying, A.T.: Scaling an Object-Oriented System Execution Visualizer through Sampling. In: Proc. of the 11th International Workshop on Program Comprehension, pp. 237–244. Portland, Oregon, USA (2003)

  4. Chilimbi, T., Jones, R., Zorn, B.: Designing a trace format for heap allocation events. In: Proc. of the ACM SIGPLAN International Symposium on Memory Management (ISMM), pp. 35–49. Minneapolis, MN, USA, Oct. (2000)

  5. De Pauw, W., Jensen, E., Mitchell, v, Sevitsky, G., Vlissides, J., Yang, J.: Visualizing the Execution of Java Programs. In: Proc. International Seminar on Software Visualization, Dagstuhl, pp. 151–162 (2002)

  6. Ducasse S., Pollet D.: Software architecture reconstruction: a process-oriented taxonomy. IEEE Trans. Softw. Eng. 35(4), 573–591 (2009)

    Article  Google Scholar 

  7. Dugerdil, P., Alam, S.: Execution trace visualization in a 3D space. In: Proceedings of the Fifth international Conference on information Technology: New Generations, pp. 38–43 (2008)

  8. Downey J.P., Sethi R., Tarjan R.E.: Variations on the common subexpression problem. J. ACM 27(4), 758–771 (1980)

    Article  MathSciNet  MATH  Google Scholar 

  9. Ebert, J., Kullbach, B., Winter, A.: GraX—An Interchange Format for Reengineering Tools. In: Proc. of the 6th Working Conference on Reverse Engineering (WCRE), pp. 89–98 (1999)

  10. Eisenbarth, T., Koschke, R., Simon, D.: Feature-Driven Program Understanding Using Concept Analysis of Execution Traces. In: Proc. of the 9th International Workshop on Program Comprehension, pp. 300–309. Toronto, Canada (2001)

  11. Flajolet, P., Sipala, P., Steyaert, J.-M.: Analytic Variations On The Common Subexpression Problem. In: Proc. of Automata, Languages, and Programming, volume 443 of Lecture Notes in computer science, pp. 220–234. Springer, Berlin (1990)

  12. Hamou-Lhadj, A., Lethbridge, T.: A survey of trace exploration tools and techniques. In: Proc. of the 14th Annual IBM Centers for Advanced Studies Conferences (CASCON), pp. 42–55. IBM Press, Toronto, Canada, October (2004)

  13. Hamou-Lhadj, A., Lethbridge, T.: Measuring various properties of execution traces to help build better trace analysis tools. In: Proc. Of the 10th IEEE International Conference on Engineering of Complex Computer Systems. Shanghai, China, June (2005)

  14. Hamou-Lhadj, A., Lethbridge, T., Fu, L.: SEAT: A usable trace analysis tool. In: Proceedings of the 13th International Workshop on Program Comprehension, pp. 157–160. IEEE Computer Society (2005)

  15. Hamou-Lhadj, A., Braun, E., Amyot, D., Lethbridge, T.: Recovering behavioral design models from execution traces. In: Proc. of the 9th European Conference on Software Maintenance and Reengineering, pp. 112–121. Manchester, UK (2005)

  16. Hamou-Lhadj, A., Lethbridge, T.: Summarizing the content of large traces to facilitate the understanding of the behaviour of a software system. In: Proc. of the IEEE International Conference on Program Comprehension, pp. 181–190. IEEE CS (2006)

  17. Holt, R.C.: An Introduction to TA: The Tuple Attribute Language. Department of Computer Science, University of Waterloo and University of Toronto (1998)

  18. Holt, R.C., Winter, A., Schürr, A.: GXL: Toward a Standard Exchange Format. In: Proc. 7th Working Conference on Reverse Engineering (WCRE), pp. 1962–171 (2000)

  19. Hyades Project: http://www.eclipse.org/tptp/

  20. Jerding, D., Rugaber, S.: Using Visualisation for Architecture Localization and Extraction. In: Proc. of the 4th Working Conference on Reverse Engineering, Amsterdam, Netherlands, October (1997)

  21. Jerding, D., Stasko, J., Ball, T.: Visualising Interactions in Program Executions. In: Proc. of the 19th International Conference on Software Engineering, pp. 360–370. Boston, Massachusetts, USA (1997)

  22. Johnson, B., Shneiderman, B.: Tree-maps: A space filling approach to the visualization of hierarchical information structures. In: Proc. of the IEEE Visualization 91, pp. 284–291 (1991)

  23. Johnson E.E., Ha J., Baqar Zaidi M.: Lossless trace compression. IEEE Trans. Comput. 50(2), 158–173 (2001)

    Article  Google Scholar 

  24. Kienle H.M., Mller H.A.: Rigi-An environment for software reverse engineering, exploration, visualization, and redocumentation. Sci. Comput. Program. 75(4), 247–263 (2010)

    Article  MATH  Google Scholar 

  25. Knowledge Discovery Metamodel (KDM), URL: http://www.omg.org/spec/KDM/1.1/

  26. Lange D.B., Nakamura Y.: Object-oriented program tracing and visualization. IEEE Comput. 30(5), 63–70 (1997)

    Article  Google Scholar 

  27. Larus, J.R.: Whole program paths. In: Proc. of the ACM SIGPLAN ‘99 Conference on Programming language design and implementation, Atlanta, United States, pp. 259–269. ACM Press, New York (1999)

  28. Leduc, J.: Towards reverse engineering of UML sequence diagrams of real-time, distributed systems through dynamic analysis. Master of Applied Science, Carleton University (2004)

  29. Lethbridge, T.C.: The Dagstuhl Middle Model: An Overview. In: Proc. of the First International Workshop on Meta-models and Schemas for Reverse Engineering (ATEM), Victoria, Canada (2003)

  30. Lethbridge, T.C., Anquetil, N.: Architecture of a Source Code Exploration Tool: A Software Engineering Case Study. Computer Science Technical Report TR-97-07, University of Ottawa, Ottawa, Canada, November (1997)

  31. McQuillan, J.A., Power, J.F.: Experiences of using the dagstuhl middle metamodel for defining software metrics. ACM International Conference Proceeding Series 178, pp. 194–198 (2006)

  32. Müller, H.A., Klashinsky, K.: Rigi—A System for Programming-in-the-Large. In: Proc. of the International Conference on Software Engineering (ICSE), pp. 80–86 (1988)

  33. Pollet, D., Ducasse, S., Poyet, L., Alloui, I., Cmpan, S., Verjus, H.: Towards a process-oriented software architecture reconstruction taxonomy. In: Proc. of the European Conference on Software Maintenance and Reengineering, pp. 137–148 (2007)

  34. Reiss, S.P., Renieris, M.: Encoding program executions. In: Proc. of the 23rd international conference on Software engineering, pp. 221–230. Toronto, Canada (2001)

  35. Richner, T., Ducasse, S.: Using dynamic information for the iterative recovery of collaborations and roles. In: Proceedings of the 18th International Conference on Software Maintenance, pp. 34–43. IEEE Computer Society (2002)

  36. Systä, T.: Dynamic Reverse Engineering of Java Software. In: Proc. of the ECOOP Workshop on Object-Oriented Technology, pp. 174–175. Lisbon, Portugal (1999)

  37. Scheuerl, S.J.G., Connor, R.C.H., Morrison, R., Moss, J.E.B., Munro, D.S.: The MaStA I/O trace format. Technical Report CS/95/4, School of Mathematical and Computational Sciences, University of St Andrews, North Haugh, St Andrews, Fife, Scotland (1995)

  38. St-Denis, G., Schauer, R., Keller, R.K.: Selecting a Model Interchange Format: The SPOOL Case Study. In: Proc. of the 33rd Annual Hawaii International Conference on System Sciences, Maui, Hawaii, January (2000)

  39. Tai K.C.: The tree-to-tree correction problem. J. ACM 26(3), 422–433 (1979)

    Article  MathSciNet  MATH  Google Scholar 

  40. UML 2.0 Superstructure Specifications, URL: http://www.omg.org/technology/documents/formal/uml.htm

  41. Valiente, G.: Simple and efficient tree pattern matching. Research report, Technical University of Catalonia, E-08034, Barcelona (2000)

  42. Woods, S., Carrière, S.J., Kazman, R.: A semantic foundation for architectural reengineering and interchange. In: Proc. of International Conference on Software Maintenance (ICSM ‘99), pp. 391–398. Oxford, England, August (1999)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Abdelwahab Hamou-Lhadj.

Additional information

Communicated by Tony Clark and Jorn Bettin.

This paper is a significant extension of a paper presented at the first International Workshop on Meta-models and Schemas for Reverse Engineering (ATEM), 2003 and published as “A Metamodel for Dynamic Information of Object-Oriented Systems” by ENTCS 2004.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Hamou-Lhadj, A., Lethbridge, T.C. A metamodel for the compact but lossless exchange of execution traces. Softw Syst Model 11, 77–98 (2012). https://doi.org/10.1007/s10270-010-0180-x

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-010-0180-x

Keywords

Navigation