Abstract
Dynamic analysis extracts information that describes the structure of the runtime behavior of a software system. This information, typically represented in the form of execution traces, is useful in many software modernization activities, such as reverse engineering and program analysis. The Architecture-Driven Modernization initiative has defined standards to support the modernization process in the context of Model-Driven Engineering (MDE). However, to date, there is no standard for representing runtime information that allows the specification of dynamic information independent of any programming language. In light of this, we present TRACEM, a metamodel for representing trace information under a standard representation that would allow traces to become a new domain in software engineering. The purpose of defining TRACEM is to complement an MDE framework for software modernization that aims to integrate static and dynamic analysis techniques during the reverse engineering process. This article contains a description of TRACEM and a case study that illustrates how dynamic information combined with static information allows for improving the whole reverse engineering process.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Brambilla, M., Cabot, J., Wimmer, M.: Model-Driven Software Engineering in Practice. 2nd edn. Morgan & Claypool Publishers (2017)
Architecture-Driven Modernization (ADM), http://www.omg.org/adm, Accessed 2023 Feb 14
Knowledge Discovery Metamodel (KDM), Version 1.4, OMG Document Number: formal/2016–09–01, http://www.omg.org/spec/KDM/1.4 (2016)
Abstract Syntax Tree Metamodel (ASTM), Version 1.0, OMG Document Number: formal/2011–01–05. Standard document URL: http://www.omg.org/spec/ASTM (2011)
Model-Driven Architecture (MDA), http://www.omg.org/mda/, Accessed 2023 Feb 14
OMG Meta Object Facility (MOF) Core Specification, Version 2.5.1, OMG Document Number: formal/2019–10–01. https://www.omg.org/spec/MOF/2.5.1 (2019)
OMG Unified Modeling Language (OMG UML), Version 2.5.1, OMG Document Number: formal/2017–12–05. http://www.omg.org/spec/UML/2.5.1 (2017)
Favre, L., Martinez, L., Pereira, C.: Reverse engineering of object-oriented code: an ADM approach. In: Handbook of Research on Innovations in Systems and Software Engineering, pp. 386–410. IGI Global (2015)
Martinez, L., Pereira, C., Favre, L.: Recovering sequence diagrams from object-oriented Code - an ADM approach. In: Proceedings of the 9th International Conference on Evaluation of Novel Approaches to Software Engineering (ENASE 2014), pp. 188–195 (2014)
Pereira, C., Martinez, L., Favre, L.: Recovering Use Case Diagrams from Object-Oriented Code: an MDA-based Approach. Int. J. Softw. Eng. (IJSE), 5 (2), 3–23 (2012)
Pereira, C., Martinez, L., Favre, L.: TRACEM - Towards a standard metamodel for execution traces in model-driven reverse engineering. In: Libro de Actas del XXVIII Congreso Argentino de Ciencia de la Computación (CACIC 2022), pp. 272–281 (2023)
Object Constraint Language (OCL), Version 2.4, OMG Document Number: formal/2014–02–03, Standard document (2014) http://www.omg.org/spec/OCL/2.4
XML Metadata Interchange (XMI) Specification, Version 2.5.1, OMG Document Number: formal/2015–06–07, Standard document (2015) http://www.omg.org/spec/XMI/2.5.1
Query/View/Transformation Specification (QVT), Version 1.3, OMG Document Number: formal/2016–06–03, Standard document (2016) http://www.omg.org/spec/QVT/1.3
Ernst, M.: Static and dynamic analysis: synergy and duality. In: Proceedings of ICSE Workshop on Dynamic Analysis (WODA 2003), pp. 24–27 (2003)
Eclipse Modeling Framework (EMF), http://www.eclipse.org/modeling/emf, Accessed 2023 Feb 14
Tonella, P., Potrich, A.: Reverse Engineering of Object-Oriented Code. Monographs in Computer Science. Heidelberg: Springer-Verlag (2005) https://doi.org/10.1007/b102522
Systa, T.: Static and Dynamic Reverse Engineering Techniques for Java Software Systems. Ph.D Thesis, University of Tampere, Report A-2000–4 (2000)
Bergmayr, A., Bruneliere, H., Cabot, J., Garcia, J., Mayerhofer, T., Wimmer, M. fREX: fUML-based reverse engineering of executable behavior for software dynamic analysis. In:IEEE/ACM 8th International Workshop on Modeling in Software Engineering (MiSE), Austin, TX, pp. 20–26 (2016)
Béziers la Fosse, T., Tisi, M., Mottu, J.-M.: Injecting Execution Traces into a Model-Driven Framework for Program Analysis. In: Seidl, M., Zschaler, S. (eds.) STAF 2017. LNCS, vol. 10748, pp. 3–13. Springer, Cham (2018). https://doi.org/10.1007/978-3-319-74730-9_1
MoDisco, https://www.eclipse.org/MoDisco, Accessed 2023 Feb 14
Hamou-Lhadj, A., Lethbridge, T.C.: A metamodel for the compact but lossless exchange of execution traces. Softw. Syst. Model. 11, 77–98 (2012)
Sailer, A.: Reverse Engineering of Real-Time System Models from Event Trace Recordings. University of Bamberg Press (2019)
Alawneh L., Hamou-Lhadj A., Hassine J.: Towards a common metamodel for traces of high performance computing systems to enable software analysis tasks. In: IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER 2015), pp. 111–120 (2015)
Beziers La Fosse, T.: Model-driven methods for dynamic analysis applied to energy-aware software engineering. Software Engineering [cs.SE]. Ecole nationale supérieure Mines-Télécom Atlantique (2021)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Pereira, C., Martinez, L., Favre, L. (2023). Toward an Execution Trace Standard: An MDE Approach. In: Pesado, P. (eds) Computer Science – CACIC 2022. CACIC 2022. Communications in Computer and Information Science, vol 1778. Springer, Cham. https://doi.org/10.1007/978-3-031-34147-2_7
Download citation
DOI: https://doi.org/10.1007/978-3-031-34147-2_7
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-34146-5
Online ISBN: 978-3-031-34147-2
eBook Packages: Computer ScienceComputer Science (R0)