Alshanqiti, AbdullahHeckel, ReikoKehrer, TimoBecker, SteffenBogicevic, IvanHerzwurm, GeorgWagner, Stefan2019-03-142019-03-142019978-3-88579-686-2https://dl.gi.de/handle/20.500.12116/20869In this work, we report about recent research results on ÒInferring Visual Contracts from Java ProgramsÓ, published in [1]. In this paper, we propose a dynamic approach to reverse engineering visual contracts from Java programs 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, patterns, and invariants. We explore potential uses in our evaluation, including in program understanding and testing, and we report on experimental results w.r.t. completeness (recall) and correctness (precision) of extracted contracts.enVisual contractsgraph transformationmodel extractiondynamic analysisreverse engineeringspecification miningInferring Visual Contracts from Java ProgramsText/Conference Paper10.18420/se2019-111617-5468