Volume 16, Number 1, 101-144, DOI: 10.1007/s10515-008-0040-x

Fast extraction of high-quality framework-specific models from application code

Michał Antkiewicz, Thiago Tonelli Bartolomei and Krzysztof Czarnecki

From the issue entitled "Special Issue: 22nd International Conference on Automated Software Engineering (ASE 2007); Guest Editors: Alexander Egyed and Bernd Fischer"

View Related Documents

Abstract

Framework-specific models represent the design of application code from the framework viewpoint by showing how framework-provided concepts are instantiated in the code. Retrieving such models quickly and precisely is necessary for practical model-supported software engineering, in which developers use design models for development tasks such as code understanding, verifying framework usage rules, and round-trip engineering. Also, comparing models extracted at different times of the software lifecycle supports software evolution tasks.
We describe an experimental study of the static analyses necessary to automatically retrieve framework-specific models from application code. We reverse engineer a number of applications based on three open-source frameworks and evaluate the quality of the retrieved models. The models are expressed using framework-specific modeling languages (FSMLs), each designed for an open-source framework. For reverse engineering, we use prototype implementations of the three FSMLs.
Our results show that for the considered frameworks and a large body of application code rather simple code analyses are sufficient for automatically retrieving framework-specific models with high precision and recall. Based on the initial results, we refine the static analyses and repeat the study on a larger set of applications to provide more evidence and confirm the results. The refined static analyses provide precision and recall of close to 100% for the analyzed applications.

Keywords  Reverse engineering - Framework-specific models - Framework-specific modeling languages - Static analysis - Object-oriented frameworks - Application programming interface - API

This paper is an extended version of the paper “Automatic extraction of framework-specific models from framework-based application code”, which was published in the proceedings of the Twenty-Second ACM/IEEE International Conference on Automated Software Engineering, 2007.

Fulltext Preview

Image of the first page of the fulltext document