Using contexts to extract models from code
File(s)SoSyM.pdf (427.69 KB)
Accepted version
Author(s)
Duarte, LM
Kramer, J
Uchitel, S
Type
Journal Article
Abstract
Behaviour models facilitate the understanding and analysis of software systems by providing an abstract view of their behaviours and also by enabling the use of validation and verification techniques to detect errors. However, depending on the size and complexity of these systems, constructing models may not be a trivial task, even for experienced developers. Model extraction techniques can automatically obtain models from existing code, thus reducing the effort and expertise required of engineers and helping avoid errors often present in manually constructed models. Existing approaches for model extraction often fail to produce faithful models, either because they only consider static information, which may include infeasible behaviours, or because they are based only on dynamic information, thus relying on observed executions, which usually results in incomplete models. This paper describes a model extraction approach based on the concept of contexts, which are abstractions of concrete states of a program, combining static and dynamic information. Contexts merge some of the advantages of using either type of information and, by their combination, can overcome some of their problems. The approach is partially implemented by a tool called LTS Extractor, which translates information collected from execution traces produced by instrumented Java code to labelled transition systems (LTS), which can be analysed in an existing verification tool. Results from case studies are presented and discussed, showing that, considering a certain level of abstraction and a set of execution traces, the produced models are correct descriptions of the programs from which they were extracted. Thus, they can be used for a variety of analyses, such as program understanding, validation, verification, and evolution.
Date Issued
2015-05-03
Date Acceptance
2015-04-13
Citation
Software & Systems Modeling, 2015, 16 (2), pp.523-557
ISSN
1619-1366
Publisher
Springer
Start Page
523
End Page
557
Journal / Book Title
Software & Systems Modeling
Volume
16
Issue
2
Copyright Statement
© Springer-Verlag Berlin Heidelberg 2015. The final publication is available at Springer via https://dx.doi.org/10.1007/s10270-015-0466-0
Sponsor
BAE Systems (Operations) Limited
Commission of the European Communities
Grant Number
97000046
FP7-PEOPLE-2011-IRSES
Subjects
Science & Technology
Technology
Computer Science, Software Engineering
Computer Science
Behaviour models
Model extraction
Model analysis
FORMAL VERIFICATION
EXECUTION
CHECKING
TRACES
0803 Computer Software
0806 Information Systems
Software Engineering
Publication Status
Published