141
IRUS TotalDownloads
Altmetric
Using contexts to extract models from code
Title: | Using contexts to extract models from code |
Authors: | Duarte, LM Kramer, J Uchitel, S |
Item 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. |
Issue Date: | 3-May-2015 |
Date of Acceptance: | 13-Apr-2015 |
URI: | http://hdl.handle.net/10044/1/23312 |
DOI: | 10.1007/s10270-015-0466-0 |
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/Funder: | BAE Systems (Operations) Limited Commission of the European Communities |
Funder's Grant Number: | 97000046 FP7-PEOPLE-2011-IRSES |
Keywords: | 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 |
Appears in Collections: | Computing Faculty of Engineering |