Model refactoring using examples: a search‐based approach
dc.contributor.author | Ghannem, Adnane | en_US |
dc.contributor.author | El Boussaidi, Ghizlane | en_US |
dc.contributor.author | Kessentini, Marouane | en_US |
dc.date.accessioned | 2014-08-06T16:50:01Z | |
dc.date.available | WITHHELD_12_MONTHS | en_US |
dc.date.available | 2014-08-06T16:50:01Z | |
dc.date.issued | 2014-07 | en_US |
dc.identifier.citation | Ghannem, Adnane; El Boussaidi, Ghizlane; Kessentini, Marouane (2014). "Model refactoring using examples: a search‐based approach." Journal of Software: Evolution and Process 26(7): 692-713. | en_US |
dc.identifier.issn | 2047-7473 | en_US |
dc.identifier.issn | 2047-7481 | en_US |
dc.identifier.uri | https://hdl.handle.net/2027.42/108085 | |
dc.description.abstract | One of the important challenges in model‐driven engineering is how to improve the quality of the models' design in order to help designers understand them. Refactoring represents an efficient technique to improve the quality of a design while preserving its behavior. Most of existing work on model refactoring relies on declarative rules to detect refactoring opportunities and to apply the appropriate refactorings. However, a complete specification of refactoring opportunities requires a huge number of rules. In this paper, we consider the refactoring mechanism as a combinatorial optimization problem where the goal is to find good refactoring suggestions starting from a small set of refactoring examples applied to similar contexts. Our approach, named model refactoring by example, takes as input an initial model to refactor, a set of structural metrics calculated on both initial model and models in the base of examples, and a base of refactoring examples extracted from different software systems and generates as output a sequence of refactorings. A solution is defined as a combination of refactoring operations that should maximize as much as possible the structural similarity based on metrics between the initial model and the models in the base of examples. A heuristic method is used to explore the space of possible refactoring solutions. To this end, we used and adapted a genetic algorithm as a global heuristic search. The validation results on different systems of real‐world models taken from open‐source projects confirm the effectiveness of our approach. Copyright © 2014 John Wiley & Sons, Ltd. | en_US |
dc.publisher | Wiley Periodicals, Inc. | en_US |
dc.publisher | Addison‐Wesley Longman Publishing Co., Inc | en_US |
dc.subject.other | Genetic Algorithm | en_US |
dc.subject.other | Software Maintenance | en_US |
dc.subject.other | Model Evolution | en_US |
dc.subject.other | Model Refactoring | en_US |
dc.subject.other | Refactoring by Example | en_US |
dc.subject.other | Heuristic Method | en_US |
dc.title | Model refactoring using examples: a search‐based approach | en_US |
dc.type | Article | en_US |
dc.rights.robots | IndexNoFollow | en_US |
dc.subject.hlbsecondlevel | Computer Science | en_US |
dc.subject.hlbtoplevel | Engineering | en_US |
dc.description.peerreviewed | Peer Reviewed | en_US |
dc.description.bitstreamurl | http://deepblue.lib.umich.edu/bitstream/2027.42/108085/1/smr1644.pdf | |
dc.identifier.doi | 10.1002/smr.1644 | en_US |
dc.identifier.source | Journal of Software: Evolution and Process | en_US |
dc.identifier.citedreference | Ghannem A, Kessentini M, El‐Boussaidi G. Detecting Model Refactoring Opportunities Using Heuristic Search. in Proceedings of the 2011 Conference of the Center for Advanced Studies on Collaborative Research (CASCON '11), Litoiu M, Stroulia E and MacKay S, (eds). IBM Corp.: Riverton, NJ, USA, 2011; 175 – 187. | en_US |
dc.identifier.citedreference | Pearl J. Heuristics: Intelligent Search Strategies for Computer Problem Solving, Addison‐Wesley Longman Publishing Co., Inc: Boston, MA, USA, 1984; 382. | en_US |
dc.identifier.citedreference | Mitchell M. An Introduction to Genetic Algorithms, MIT Press: Cambridge, MA, USA, 1998; 209. | en_US |
dc.identifier.citedreference | Kirkpatrick S, Gelatt CD, Vecchi MP. Optimization by simulated annealing. Science 1983; 220: 671 – 680. | en_US |
dc.identifier.citedreference | Goldberg DE. Genetic Algorithms in Search, Optimization and Machine Learning, Addison‐Wesley Longman Publishing Co., Inc.: 1989; 372. | en_US |
dc.identifier.citedreference | Koza JR. Genetic Programming: On the Programming of Computers by Means of Natural Selection, MIT Press: Cambridge, MA, USA, 1992; 680. | en_US |
dc.identifier.citedreference | Kim M, et al. Ref‐Finder: a refactoring reconstruction tool based on logic query templates. Proceedings of the Eighteenth ACM SIGSOFT International Symposium on Foundations of Software Engineering, ACM: Santa Fe, New Mexico, USA, 2010; 371 – 372. | en_US |
dc.identifier.citedreference | Mens T, Taentzer G, Runge O. Analysing refactoring dependencies using graph transformation. Software and Systems Modeling 2007; 6 ( 3 ): 269 – 285. | en_US |
dc.identifier.citedreference | Ouni A, et al. Maintainability defects detection and correction: a multi‐objective approach. Automated Software Engineering 2013; 20 ( 1 ): 47 – 79. | en_US |
dc.identifier.citedreference | Kessentini M, et al. Design defects detection and correction by example. Proceedings of the 2011 IEEE 19th International Conference on Program Comprehension, IEEE Computer Society, 2011; 81 – 90. | en_US |
dc.identifier.citedreference | Arcuri A, Briand L. A Hitchhiker's guide to statistical tests for assessing randomized algorithms in software engineering. Software Testing, Verification and Reliability, 2012; DOI: 10.1002/stvr.1486. | en_US |
dc.identifier.citedreference | Wilcoxon F. Individual comparisons by ranking methods. Breakthroughs in Statistics, Kotz S, Johnson N (eds). Springer: New York, 1992; 196 – 202. | en_US |
dc.identifier.citedreference | Hui L, et al. Facilitating software refactoring with appropriate resolution order of bad smells, in Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on the foundations of software engineering, 2009: Amsterdam, The Netherlands, p. 265 – 268. | en_US |
dc.identifier.citedreference | Kataoka Y, et al. Automated support for program refactoring using invariants. Software Maintenance, Proceedings. IEEE International Conference, 2001. | en_US |
dc.identifier.citedreference | Van Der Straeten R, Jonckers V, Mens T. A formal approach to model refactoring and model refinement. Software and Systems Modeling 2007; 6 ( 2 ): 139 – 162. | en_US |
dc.identifier.citedreference | Van Kempen M, et al. Towards proving preservation of behaviour of refactoring of UML models, in Proceedings of the 2005 annual research conference of the South African institute of computer scientists and information technologists on IT research in developing countries (SAICSIT '05), 2005: South African Institute for Computer Scientists and Information Technologists, Republic of South Africa. p. 252 – 259. | en_US |
dc.identifier.citedreference | Biermann E. EMF model transformation based on graph transformation: formal foundation and tool environment. Proceedings of the 5th International Conference on Graph Transformations, Springer‐Verlag: Enschede, The Netherlands, 2010; 381 – 383. | en_US |
dc.identifier.citedreference | O'Keeffe M. Search‐based refactoring: an empirical study. Journal of Software Maintenance and Evolution 2008; 20 ( 5 ): 345 – 364. | en_US |
dc.identifier.citedreference | Harman M, Tratt L. Pareto optimal search based refactoring at the design level. Proceedings of the 9th Annual Conference on Genetic and Evolutionary Computation, ACM: London, England, 2007; 1106 – 1113. | en_US |
dc.identifier.citedreference | Kessentini M, et al. Search‐based model transformation by example. Software & Systems Modeling 2012; 11 ( 2 ): 209 – 226. | en_US |
dc.identifier.citedreference | Seng O, Stammel J, Burkhart D. Search‐based determination of refactorings for improving the class structure of object‐oriented systems. Proceedings of the 8th Annual Conference on Genetic and Evolutionary Computation, ACM: Seattle, Washington, USA, 2006; 1909 – 1916. | en_US |
dc.identifier.citedreference | Jensen AC, Cheng BHC. On the use of genetic programming for automated refactoring and the introduction of design patterns. Proceedings of the 12th Annual Conference on Genetic and Evolutionary Computation, ACM: Portland, Oregon, USA, 2010; 1341 – 1348. | en_US |
dc.identifier.citedreference | Seacord RC, Plakosh D, Lewis GA. Modernizing Legacy Systems: Software Technologies, Engineering Process and Business Practices, Addison‐Wesley Longman Publishing Co., Inc: Boston, MA, USA, 2003; 368. | en_US |
dc.identifier.citedreference | Lientz BP, Swanson EB, Tompkins GE. Characteristics of application software maintenance. Communications of the ACM 1978; 21 ( 6 ): 466 – 471. | en_US |
dc.identifier.citedreference | ISO/IEC. International Standard ‐ ISO/IEC 14764 IEEE Std 14764‐2006 Software Engineering; Software Life Cycle Processes &; Maintenance. ISO/IEC 14764:2006 (E) IEEE Std 14764‐2006 Revision of IEEE Std 1219‐1998), 2006: p. 0_1‐46. | en_US |
dc.identifier.citedreference | Fowler M. Refactoring: Improving the Design of Existing Code, Addison‐Wesley: Boston, MA, USA, 1999. | en_US |
dc.identifier.citedreference | Mens T, Tourwé T. A survey of software refactoring. IEEE Transactions on Software Engineering 2004; 30 ( 2 ): 126 – 139. | en_US |
dc.identifier.citedreference | Opdyke WF. Refactoring: A Program Restructuring Aid in Designing Object‐oriented Application Frameworks, University of Illinois at Urbana‐Champaign, 1992. | en_US |
dc.identifier.citedreference | Moha N. DECOR: Détection et correction des défauts dans les systèmes orientés objet, Université de Montréal & Université des Sciences et Technologies de Lille: Montréal, 2008; 157. | en_US |
dc.identifier.citedreference | Bois BD, Demeyer S, Verelst J. Refactoring–improving coupling and cohesion of existing code. Proceedings of the 11th Working Conference on Reverse Engineering, IEEE Computer Society, 2004; 144 – 151. | en_US |
dc.identifier.citedreference | El Boussaidi G, Mili H. Understanding Design Patterns—What is the Problem? Software: Practice and Experience 2012; 42 ( 12 ): 1495 – 1529. | en_US |
dc.identifier.citedreference | Mens T, Taentzer G, Muller D. Challenges in model refactoring. Proc. 1st Workshop on Refactoring Tools, University of Berlin, 2007. | en_US |
dc.identifier.citedreference | Zhang J, Lin Y, Gray J. Generic and Domain‐specific Model Refactoring Using a Model Transformation Engine. Model‐driven Software Development – Research and Practice in Software Engineering. Springer: Hiedeberg, 2005. | en_US |
dc.identifier.citedreference | Douglas CS. Model‐driven engineering. IEEE Computer 2006; 39 ( 2 ): 41 – 47. | en_US |
dc.identifier.citedreference | El‐Boussaidi G, Mili H. Detecting patterns of poor design solutions using constraint propagation. Proceedings of the 11th International Conference on Model Driven Engineering Languages and Systems, Springer‐Verlag: Toulouse, France, 2008; 189 – 203. | en_US |
dc.identifier.citedreference | Moha N, et al. DECOR: a method for the specification and detection of code and design smells. Software Engineering, IEEE Transactions 2008; 36 ( 1 ): 20 – 36. | en_US |
dc.identifier.citedreference | Munro MJ. Product metrics for automatic identification of “bad smell” design problems in java source‐code. In Software Metrics, 2005. 11th IEEE International Symposium, 2005. | en_US |
dc.identifier.citedreference | Marinescu R. Detection strategies: metrics‐based rules for detecting design flaws. Software Maintenance, 2004. Proceedings. 20th IEEE International Conference, 2004. | en_US |
dc.identifier.citedreference | Kessentini M, et al. Search‐based design defects detection by example. Proceedings of the 14th International Conference on Fundamental Approaches to Software Engineering: Part of the Joint European Conferences on Theory and Practice of Software, Springer‐Verlag: Saarbrücken, Germany, 2011; 401 – 415. | en_US |
dc.identifier.citedreference | Fowler M, Beck K. Refactoring: improving the design of existing code. Proceedings of the Second XP Universe and First Agile Universe Conference on Extreme Programming and Agile Methods, Springer‐Verlag, 1999; 256. | en_US |
dc.identifier.citedreference | Fenton NE, Pfleeger ASL. Software Metrics: A Rigorous and Practical Approach ( 2nd edn ) PWS Publishing Co.: Boston, MA, USA ©, 1998; 656. | en_US |
dc.identifier.citedreference | Genero M, Piattini M, Calero C. Empirical Validation of Class Diagram Metrics. Empirical Software Engineering, Proceedings. International Symposium, 2002. | en_US |
dc.owningcollname | Interdisciplinary and Peer-Reviewed |
Files in this item
Remediation of Harmful Language
The University of Michigan Library aims to describe library materials in a way that respects the people and communities who create, use, and are represented in our collections. Report harmful or offensive language in catalog records, finding aids, or elsewhere in our collections anonymously through our metadata feedback form. More information at Remediation of Harmful Language.
Accessibility
If you are unable to use this file in its current format, please select the Contact Us link and we can modify it to make it more accessible to you.