fog.pdf (1.9 MB)
Download fileExtracting Visual Contracts from Java Programs
conference contribution
posted on 2016-04-12, 09:57 authored by Reiko Heckel, Abdullah AlshanqitiVisual contracts model the operations of components or services by pre-and post-conditions formalised as graph transformation rules. They provide a precise intuitive notation to support testing, understanding and analysis of software. However, due to their detailed specification of data states and transformations, modelling real applications is an error-prone process. In this paper we propose a dynamic approach to reverse engineering visual contracts from Java based on tracing the execution of Java operations. The resulting contracts give an accurate description of the observed object transformations, their effects and preconditions in terms of object structures, parameter and attribute values, and their generalised specification by universally quantified (multi) objects. While this paper focusses on the fundamental technique rather than a particular application, we explore potential uses in our evaluation, including in program understanding, review of test reports and debugging.
History
Citation
30th IEEE/ACM International Conference on Automated Software Engineering (ASE), 2015, pp. 104-114Author affiliation
/Organisation/COLLEGE OF SCIENCE AND ENGINEERING/Department of Computer ScienceSource
30th IEEE/ACM International Conference on Automated Software Engineering (ASE 2015), Lincoln, NE, 9-13 Nov. 2015Version
- AM (Accepted Manuscript)
Published in
30th IEEE/ACM International Conference on Automated Software Engineering (ASE)Publisher
Institute of Electrical and Electronics Engineers (IEEE), United StatesAcceptance date
2015-07-18Copyright date
2015Available date
2016-04-12Publisher DOI
Publisher version
http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=7372000&filter=AND(p_Publication_Number:7371449)Language
enAdministrator link
Usage metrics
Categories
Keywords
JavaJava operationsJava programsgeneralised specificationgraph transformation rulesobject transformationsreverse engineering visual contractssoftwareuniversally quantified objectsvisual contracts modelCities and townsContextContractsTestingUnified modeling languageVisualizationextraction of visual contractsgraph transformationmulti objectsrule learning