DocumentCode
650693
Title
Combining Static and Dynamic Analyses to Reverse-Engineer Scenario Diagrams
Author
Labiche, Yvan ; Kolbah, Bojana ; Mehrfard, Hossein
Author_Institution
Dept. SCE, Carleton Univ., Ottawa, ON, Canada
fYear
2013
fDate
22-28 Sept. 2013
Firstpage
130
Lastpage
139
Abstract
This paper discusses a step towards reverse engineering source code to produce UML sequence diagrams, with the aim to aid program comprehension and other activities (e.g., verification). Specifically, our objective being to obtain a lightweight instrumentation and therefore disturb the software behaviour as little as possible in order to eventually produce accurate sequence diagrams. To achieve this, we combine static and dynamic analyses of a Java software, reducing information we collect at runtime (lightweight instrumentation) and compensating for the reduced runtime information with information obtained statically from source code. Static and dynamic information are represented as models and UML diagram generation becomes a model transformation problem. Our validation against a previous, correct approach shows that we indeed reduce the execution overhead inherent to dynamic analysis, while still producing useful diagrams.
Keywords
Java; Unified Modeling Language; program diagnostics; reverse engineering; system monitoring; Java software; UML diagram generation; UML sequence diagrams; dynamic analysis; model transformation problem; program comprehension; reverse engineering source code; reverse-engineer scenario diagrams; software behaviour; static analyss; Data models; Flow graphs; Instruments; Reverse engineering; Runtime; Software; Unified modeling language; Dynamic analysis; Reverse-engineering; Scenario diagram; Sequence diagram; Static analysis;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Maintenance (ICSM), 2013 29th IEEE International Conference on
Conference_Location
Eindhoven
ISSN
1063-6773
Type
conf
DOI
10.1109/ICSM.2013.24
Filename
6676884
Link To Document