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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Object Management Group. Knowledge Discovery Metamodel: KDM Version 1.1 Beta 3 (March 2008)
OMG: Object Management Group, http://www.omg.org/
Object Management Group. Unified Modeling Language: Infrastructure and Superstructure, Version 2.0, formal/2007-11-04 (November 2007)
Zhang, X., Gupta, R.: Whole execution traces and their applications. ACM Transactions on Architecture and Code Optimization (TACO) 2(3), 301–334 (2005)
Cleve, H., Zeller, A.: Locating causes of program failures. In: ACM/IEEE International Conference on Software Engineering, ICSE (2005)
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)
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)
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)
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)
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)
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)
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)
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)
Varghese, S.M., Jacob, K.P.: Anomaly Detection Using System Call Sequence Sets. Journal of Software 2(6) (2007)
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)
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)
Burns, R., Rees, R., Peterson, Z., Darrell, D.E.: Allocation and Data Placement Using Virtual Contiguity, iNIST/SSRC/01-001, pp. 1–6 (2001)
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)
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)
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)
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)
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)
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)
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)
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)
Roberts, J., Zilles, C.: TraceVis: An Execution Trace Visualization Tool. In: Proceedings of the Workshop on Modeling, Benchmarking, and Simulation (2005)
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)
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)
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)
Object Management Group. Meta Object Facility (MOF) Specification (2000)
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)