@article {19, title = {Fast Extraction of High-Quality Framework-Specific Models from Application Code}, journal = {Automated Software Engineering}, volume = {16}, year = {2009}, month = {03/2009}, pages = {101 - 144}, abstract = {<p>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.</p> <p>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.</p> <p>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.</p>}, issn = {1573-7535}, doi = {10.1007/s10515-008-0040-x}, url = {http://www.springerlink.com/content/v2253221m91114t1/fulltext.pdf}, attachments = {http://gsd.uwaterloo.ca/sites/default/files/doc.pdf}, author = {Micha{\l} Antkiewicz and Tonelli~Bartolomei, Thiago and Krzysztof Czarnecki} }