Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/2889160.2889169acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

AD-ROOM: a tool for automatic detection of refactorings in object-oriented models

Published: 14 May 2016 Publication History

Abstract

Detecting refactorings in Object-Oriented Models (OOM) is essential to automate the repair, maintenance, and migration of OOM-related products. However, detecting refactorings is challenging since multiple sequences of atomic changes may define a single user intention and refactorings may overlap over the atomic change trace. In this paper, we present AD-ROOM, an Eclipse-based tool to automatically detect refactorings during evolution of OOM. In contrast to existing tools, AD-ROOM is designed to reach 100% recall that is confirmed in our eight case studies. We allow user confirmation and we support the user with three heuristics that help to improve the precision of AD-ROOM. See the demonstration video: https://youtu.be/4OJ8zHtfnq8

References

[1]
X. Blanc, I. Mounier, A. Mougenot, and T. Mens. Detecting model inconsistency through operation-based model construction. In ICSE'08, pages 511--520, 2008.
[2]
A. M. Fernández-Sáez, M. Genero, M. R. Chaudron, D. Caivano, and I. Ramos. Are forward designed or reverse-engineered uml diagrams more helpful for code maintenance?: A family of experiments. Information and Software Technology, 57:644--663, 2015.
[3]
J. Garcia, O. Diaz, and M. Azanza. Model transformation co-evolution: A semi-automatic approach. In K. Czarnecki and G. Hedin, editors, Software Language Engineering, pages 144--163. Jan. 2012.
[4]
R. Hebig, D. E. Khelladi, and R. Bendraou. Surveying the corpus of model resolution strategies for metamodel evolution. In The 22nd APSEC, 2015.
[5]
M. Herrmannsdoerfer, S. D. Vermolen, and G. Wachsmuth. An extensive catalog of operators for the coupled evolution of metamodels and models. In Software Language Engineering, pages 163--182. Jan. 2011.
[6]
J. Hutchinson, J. Whittle, M. Rouncefield, and S. Kristoffersen. Empirical assessment of mde in industry. In Proceedings of the 33rd International Conference on Software Engineering, pages 471--480. ACM, 2011.
[7]
D. E. Khelladi, R. Hebig, R. Bendraou, J. Robin, and M.-P. Gervais. Detecting complex changes and refactorings during (meta)model evolution. To appear in Information Systems.
[8]
D. E. Khelladi, R. Hebig, R. Bendraou, J. Robin, and M.-P. Gervais. Detecting complex changes during metamodel evolution. In The 27th CAISE, pages 264--278, 2015.
[9]
P. Langer, M. Wimmer, P. Brosch, M. Herrmannsdorfer, M. Seidl, K. Wieland, and G. Kappel. A posteriori operation detection in evolving software models. Journal of Systems and Software, 86(2):551--566, Feb. 2013.
[10]
G. Liebel, N. Marko, M. Tichy, A. Leitner, and J. Hansson. Assessing the state-of-practice of model-based engineering in the embedded systems domain. In Model-Driven Engineering Languages and Systems, pages 166--182. 2014.
[11]
T. Mens, G. Taentzer, and D. Müller. Model-driven software refactoring. Model-Driven Software Development: Integrating Quality Assurance, pages 170--203, 2008.
[12]
I. H. Moghadam and M. O. Cinneide. Automated refactoring using design differencing. In 16th European Conference on Software Maintenance and Reengineering (CSMR), pages 43--52. IEEE, 2012.
[13]
OMG. Object management group. meta object facility (mof). http://www.omg.org/spec/MOF/, 2015.
[14]
OMG. Object management group. unified modeling language (uml). http://www.omg.org/spec/UML/, 2015.
[15]
C. Rijsbergen. Information retrieval. butterworths, 1979.
[16]
D. Steinberg, F. Budinsky, E. Merks, and M. Paternostro. EMF: eclipse modeling framework. Addison-Wesley, 2008.
[17]
G. Sunyé, D. Pollet, Y. Le Traon, and J.-M. Jézéquel. Refactoring uml models. In The Unified Modeling Language. Modeling Languages, Concepts, and Tools, pages 134--148. Springer, 2001.
[18]
S. Thummalapenta, L. Cerulo, L. Aversano, and M. Di Penta. An empirical study on the maintenance of source code clones. Empirical Software Engineering, 15(1):1--34, 2010.
[19]
S. D. Vermolen, G. Wachsmuth, and E. Visser. Reconstructing complex metamodel evolution. In A. Sloane and U. Aßmann, editors, Software Language Engineering, pages 201--221. Jan. 2012.
[20]
Z. Xing and E. Stroulia. Umldiff: an algorithm for object-oriented design differencing. In 20th IEEE/ACM ASE, pages 54--65, 2005.
[21]
Z. Xing and E. Stroulia. Refactoring detection based on umldiff change-facts queries. In 13th Working Conference on Reverse Engineering. WCRE'06., pages 263--274, 2006.

Cited By

View all
  • (2023)Towards Leveraging Tests to Identify Impacts of Metamodel and Code Co-evolutionIntelligent Information Systems10.1007/978-3-031-34674-3_16(129-137)Online publication date: 8-Jun-2023
  • (2020)Co-evolving code with evolving metamodelsProceedings of the ACM/IEEE 42nd International Conference on Software Engineering10.1145/3377811.3380324(1496-1508)Online publication date: 27-Jun-2020
  • (2019)Detecting and exploring side effects when repairing model inconsistenciesProceedings of the 12th ACM SIGPLAN International Conference on Software Language Engineering10.1145/3357766.3359546(113-126)Online publication date: 20-Oct-2019
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '16: Proceedings of the 38th International Conference on Software Engineering Companion
May 2016
946 pages
ISBN:9781450342056
DOI:10.1145/2889160
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 14 May 2016

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article

Conference

ICSE '16
Sponsor:

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 27 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Towards Leveraging Tests to Identify Impacts of Metamodel and Code Co-evolutionIntelligent Information Systems10.1007/978-3-031-34674-3_16(129-137)Online publication date: 8-Jun-2023
  • (2020)Co-evolving code with evolving metamodelsProceedings of the ACM/IEEE 42nd International Conference on Software Engineering10.1145/3377811.3380324(1496-1508)Online publication date: 27-Jun-2020
  • (2019)Detecting and exploring side effects when repairing model inconsistenciesProceedings of the 12th ACM SIGPLAN International Conference on Software Language Engineering10.1145/3357766.3359546(113-126)Online publication date: 20-Oct-2019
  • (2019)Automated refactoring to reactive programmingProceedings of the 34th IEEE/ACM International Conference on Automated Software Engineering10.1109/ASE.2019.00082(835-846)Online publication date: 10-Nov-2019
  • (2018)Change Propagation-based and Composition-based Co-evolution of Transformations with Evolving MetamodelsProceedings of the 21th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems10.1145/3239372.3239380(404-414)Online publication date: 14-Oct-2018
  • (2018)A Systematic Mapping of Literature on Software Refactoring ToolsProceedings of the XIV Brazilian Symposium on Information Systems10.1145/3229345.3229357(1-8)Online publication date: 4-Jun-2018
  • (2018)Dynamic Ranking of Refactoring Menu Items for Integrated Development EnvironmentIEEE Access10.1109/ACCESS.2018.28837696(76025-76035)Online publication date: 2018
  • (2017)An Exploratory Experiment on Metamodel-Transformation Co-Evolution2017 24th Asia-Pacific Software Engineering Conference (APSEC)10.1109/APSEC.2017.68(576-581)Online publication date: Dec-2017
  • (2016)Towards a User-Guided Difference-Based Detection of Atomic Changes2016 21st International Conference on Engineering of Complex Computer Systems (ICECCS)10.1109/ICECCS.2016.036(211-214)Online publication date: Nov-2016
  • (2016)Detecting complex changes and refactorings during (Meta)model evolutionInformation Systems10.1016/j.is.2016.05.00262:C(220-241)Online publication date: 1-Dec-2016
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media