141
IRUS Total
Downloads
  Altmetric

Using contexts to extract models from code

File Description SizeFormat 
SoSyM.pdfAccepted version427.69 kBAdobe PDFView/Open
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