Skip to main content

Execution Traces: A New Domain That Requires the Creation of a Standard Metamodel

  • Conference paper
Advances in Software Engineering (ASEA 2009)

Abstract

Despite the fact dynamic analysis techniques of software systems have been shown to be useful in many software engineering activities such as software maintenance, software performance, testing, etc., there is no standard format for representing run-time information, which hinders interoperability and sharing of data. Runtime information is typically represented in the form of execution traces. Traces can contain different information, and can contain different types of information depending on what is being traced and the purpose of the trace. In this paper, we argue that traces represent vital knowledge about software that needs to be organized and modeled. We support our arguments by discussing the various types of traces used in the literature. We also discuss the challenges when dealing with execution traces and why a trace metamodel has to be carefully designed to overcome these challenges. We also discuss existing attempts to model execution traces. Finally, we discuss how the Knowledge Discovery Metamodel can be extended to support efficiently the modeling of large and complex execution traces.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Object Management Group. Knowledge Discovery Metamodel: KDM Version 1.1 Beta 3 (March 2008)

    Google Scholar 

  2. OMG: Object Management Group, http://www.omg.org/

  3. Object Management Group. Unified Modeling Language: Infrastructure and Superstructure, Version 2.0, formal/2007-11-04 (November 2007)

    Google Scholar 

  4. Zhang, X., Gupta, R.: Whole execution traces and their applications. ACM Transactions on Architecture and Code Optimization (TACO) 2(3), 301–334 (2005)

    Article  MATH  Google Scholar 

  5. Cleve, H., Zeller, A.: Locating causes of program failures. In: ACM/IEEE International Conference on Software Engineering, ICSE (2005)

    Google Scholar 

  6. Liu, D., Marcus, A., Poshyvanyk, D., Rajlich, V.: Feature Location via Information Retrieval based Filtering of a Single Scenario Execution Trace. In: Proceedings of the 22nd IEEE/ACM International Conference on Automated Software Engineering, pp. 234–243 (2007)

    Google Scholar 

  7. Taniguchi, K., Ishio, T., Kamiya, T., Kusumoto, S., Inoue, K.: Extracting Sequence Diagram from Execution Trace of Java Program. In: Proceedings of the Eighth International Workshop on Principles of Software Evolution, pp. 148–154 (2005)

    Google Scholar 

  8. Wang, L., Wong, E., Xu, D.: A Threat Model Driven Approach for Security Testing. In: Proceedings of the Third International Workshop on Software Engineering for Secure Systems, pp. 111–112 (2007)

    Google Scholar 

  9. Salah, M., Mancoridis, S.: A Hierarchy of Dynamic Software Views: From Object-Interactions to Feature-Interactions. In: Proceedings of the 20th IEEE International Conference on Software Maintenance, pp. 72–81 (2004)

    Google Scholar 

  10. Apiwattanapong, T., Orso, A., Harrold, M.: Efficient and precise dynamic impact analysis using execute-after sequences. In: Proceedings of the 27th international conference on Software engineering (2005)

    Google Scholar 

  11. Hamou-Lhadj, A., Lethbridge, T.: Summarizing the Content of Large Traces to Facilitate the Understanding of the Behaviour of a Software System. In: Proceedings of the 14th IEEE International Conference on Program Comprehension, pp. 181–190 (2006)

    Google Scholar 

  12. Moe, J., Carr, D.: Understanding Distributed Systems via Execution Trace Data. In: Proceedings of the 9th International Workshop on Program Comprehension, pp. 60–67 (2001)

    Google Scholar 

  13. Bensalem, S., Havelund, K.: Scalable deadlock analysis of multi-threaded programs. In: Proceedings of the Parallel and Distributed Systems: Testing and Debugging (PADTAD) Track of the 2005 IBM Verification Conference. Springer, Heidelberg (2005)

    Google Scholar 

  14. Varghese, S.M., Jacob, K.P.: Anomaly Detection Using System Call Sequence Sets. Journal of Software 2(6) (2007)

    Google Scholar 

  15. Fetzer, C., Suesskraut, M.: SwitchBlade: Enforcing Dynamic Personalized System Call Models. In: Proceedings of the 3rd ACM SIGOPS/EuroSys European Conference on Computer Systems (2008)

    Google Scholar 

  16. Goel, A., Feng, W., Maier, D.: Automatic high-performance reconstruction and recovery. The International Journal of Computer and Telecommunications Networking 51(5), 1361–1377 (2007)

    MATH  Google Scholar 

  17. Burns, R., Rees, R., Peterson, Z., Darrell, D.E.: Allocation and Data Placement Using Virtual Contiguity, iNIST/SSRC/01-001, pp. 1–6 (2001)

    Google Scholar 

  18. Cantrill, B.M., Shapiro, M.W., Leventhal, A.H.: Dynamic instrumentation of production systems. In: Proceedings of the USENIX Annual Technical Conference 2004 on USENIX Annual Technical Conference (2004)

    Google Scholar 

  19. Harkema, M., Quartel, D., van der Mei, R., Gijsen, B.: JPMT: a Java performance monitoring tool. In: Proceedings of the 13th International Conference on Modelling Techniques and Tools for Computer Performance Evaluation (2003)

    Google Scholar 

  20. Putrycz, E.: Using trace analysis for improving performance in COTS systems. In: Proceedings of the 2004 conference of the Centre for Advanced Studies on Collaborative research, pp. 68–80 (2004)

    Google Scholar 

  21. Pahl, C., Boskovic, M., Hasselbring, W.: Model-Driven Performance Evaluation for Service Engineering. In: Proceedings of the 2nd European Conference on Web Services Workshop on Web Services Technology (2007)

    Google Scholar 

  22. McGavin, M., Wright, T., Marshall, S.: Visualisations of Execution Traces (VET): An Interactive Plugin-Based Visualisation Tool. In: Proceeding of the 7th Australasian User Interface Conference, pp. 153–160 (2006)

    Google Scholar 

  23. Fischer, M., Oberleitner, J., Gall, H., Gschwind, T.: System Evolution Tracking through Execution Trace Analysis. In: Proceedings of the 13th International Workshop on Program Comprehension, pp. 237–246 (2005)

    Google Scholar 

  24. Cornelissen, B., Zaidman, A., Holten, D., Moonen, L., van Deursen, A., van Wijk, J.: Execution trace analysis through massive sequence and circular bundle views. Journal of Systems and Software 8(12) (2008)

    Google Scholar 

  25. de Kergommeaux, J.C., de Oliveira Stein, B.: Pajé: An Extensible Environment for Visualizing Multi-threaded Programs Executions. In: Proceedings of the 6th International Euro-Par Conference on Parallel Processing, pp. 133–140 (2000)

    Google Scholar 

  26. Roberts, J., Zilles, C.: TraceVis: An Execution Trace Visualization Tool. In: Proceedings of the Workshop on Modeling, Benchmarking, and Simulation (2005)

    Google Scholar 

  27. Malnati, G., Cuva, C.M., Barberis, C.: JThreadSpy: teaching multithreading programming by analyzing execution traces. In: Proceedings of the Parallel And Distributed Systems: Testing and Debugging Conference (2007)

    Google Scholar 

  28. Hamou-Lhadj, A., Lethbridge, T.C.: A Metamodel for Dynamic Information Generated from Object-Oriented Systems. Electronic Notes Theoretical Computer Science, vol. 94, pp. 59–69. Elsevier Press, Amsterdam (2004)

    Google Scholar 

  29. Winter, A., Kullbach, B., Riediger, V.: An Overview of the GXL Graph Exchange Language, Revised Lectures on Software Visualization. In: International Seminar, pp. 324–336 (2001)

    Google Scholar 

  30. Object Management Group. Meta Object Facility (MOF) Specification (2000)

    Google Scholar 

  31. Briand, L.C., Labiche, Y., Miao, Y.: Towards the Reverse Engineering of UML Sequence Diagrams. In: Proceedings of the 10th Working Conference on Reverse Engineering (2003)

    Google Scholar 

  32. Delamare, R., Baudry, B., Traon, Y.L.: Reverse-engineering of UML 2.0 Sequence Diagrams from Execution Traces. In: Workshop on Object-Oriented Reengineering at ECOOP (2006)

    Google Scholar 

  33. Li, X., Qiu, X., Wang, L., Lei, B., Wong, W.E.: UML State Machine Diagram Driven Runtime Verification of Java Programs for Message Interaction Consistency. In: Proceedings of the 23rd Annual ACM Symposium on Applied Computing (ACM SAC 2008), pp. 384–389 (2008)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Alawneh, L., Hamou-Lhadj, A. (2009). Execution Traces: A New Domain That Requires the Creation of a Standard Metamodel. In: Ślęzak, D., Kim, Th., Kiumi, A., Jiang, T., Verner, J., Abrahão, S. (eds) Advances in Software Engineering. ASEA 2009. Communications in Computer and Information Science, vol 59. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-10619-4_31

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-10619-4_31

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-10618-7

  • Online ISBN: 978-3-642-10619-4

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics