skip to main content
10.1145/2328876.2328880acmotherconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
research-article

Computation of refactoring plans from refactoring strategies using HTN planning

Published: 01 June 2012 Publication History

Abstract

Complex refactoring processes, such as applying big refactorings or removing design smells are difficult to perform in practice. The complexity of these processes is partly due to their heuristic nature and to the constraints imposed by preconditions on the applicability of the individual refactorings. We introduce refactoring strategies as heuristic-based, automation-suitable specifications of a complex refactoring process. They allow us to specify correction strategies and big refactorings more formally than it is done in current catalogues. Refactoring strategies can be instantiated, for each particular case, into refactoring plans. We define refactoring plans as sequences of refactorings that are immediately applicable over the current system source code. We have developed an approach for instantiating refactoring strategies into refactoring plans that uses Hierarchical Task Network (HTN) planning. This paper describes this approach and presents a case study, in order to evaluate and characterise it.

References

[1]
L. Chung, B. A. Nixon, E. Yu, and J. Mylopoulos. Non-Functional Requirements in Software Engineering, volume 5 of International Series in Software Engineering. Springer, October 1999. ISBN 0792386663.
[2]
R. E. Fikes and N. J. Nilsson. STRIPS: A new approach to the application of theorem proving to problem solving. Artificial Intelligence, 2:189--208, 1971. URL http://www.ai.sri.com/pubs/files/tn043r-fikes71.pdf.
[3]
M. Fowler, K. Beck, J. Brant, W. Opdyke, and D. Roberts. Refactoring: Improving the Design of Existing Code. Object Technology Series. Addison-Wesley, 1 edition, June 1999. ISBN 0-201-48567-2.
[4]
M. Ghallab, D. Nau, and P. Traverso. Automated Planning; Theory and Practice. Morgan Kaufmann, 2004.
[5]
O. Ilghami and D. Nau. A general approach to synthesize problem-specific planners. Technical Report CS-TR-4597, UMIACS-TR-2004-40, University of Maryland, October 2003.
[6]
iPlasma. URL http://loose.upt.ro/iplasma. LOOSE Research Group;.
[7]
JSHOP2. Department of Computer Science, University of Maryland, http://www.cs.umd.edu/projects/shop.
[8]
JTransformer Engine. ROOTS group, http://roots.iai.uni-bonn.de/research/jtransformer/.
[9]
M. Lanza and R. Marinescu. Object-Oriented Metrics in Practice - Using Software Metrics to Characterize, Evaluate, and Improve the Design of Object-Oriented Systems. Springer, 2006. ISBN 3-540-24429-8.
[10]
T. Mens and T. Tourwé. A survey of software refactoring. IEEE Transactions on Software Engineering, 30(2):126--139, 2004. ISSN 0098-5589.
[11]
N. Moha. DECOR: Détection et correction des défauts dans les systèmes orientés objet. PhD thesis, Université des Sciences et Technologies de Lille; Université de Montréal, August 2008.
[12]
J. Pérez. Enabling refactoring with HTN planning to improve the design smells correction activity. In BENEVOL 2008: The 7th BElgian-NEtherlands software eVOLution workshop, December 2008.
[13]
J. Pérez. Refactoring Planning for Design Smell Correction in Object-Oriented Software. PhD thesis, University of Valladolid, 2011.
[14]
J. Pérez and Y. Crespo. Perspectives on automated correction of bad smells. In IWPSE-Evol '09: Proceedings of the joint international and annual ERCIM workshops on Principles of software evolution (IWPSE) and software evolution (Evol) workshops, pages 99--108, New York, NY, USA, 2009. ACM. ISBN 978-1-60558-678-6.
[15]
J. Pinna Puissant and T. Mens. Inconsistency Resolution in Model-Driven Engineering: An approach using Automated Planning. In Proc. BENEVOL 2009, 2009.
[16]
J. Pinna Puissant, R. Van Der Straeten, and T. Mens. Automated planning for resolving model inconsistencies: A scalability study. In International Workshop on Models Evolution ME 2010, 2010.
[17]
E. Sirin, B. Parsia, D. Wu, J. Hendler, and D. Nau. HTN planning for web service composition using SHOP2. Web Semantics: Science, Services and Agents on the World Wide Web, 1(4):377--396, October 2004. URL http://dx.doi.org/10.1016/j.websem.2004.06.005.
[18]
L. Tahvildari and K. Kontogiannis. Improving design quality using meta-pattern transformations: a metric-based approach. Journal of Software Maintenance and Evolution: Research and Practice (JSME), 16(4-5):331--361, 2004. ISSN 1040-550X.
[19]
A. Trifu. Towards Automated Restructuring of Object Oriented Systems. PhD thesis, Universität Karlsruhe (TH), Fakultät für Informatik, 2008.
[20]
A. Trifu, O. Seng, and T. Genssler. Automated design flaw correction in Object-Oriented systems. In C. Riva and G. Canfora, editors, proceedings of the 8th Conference on Sooftware Maintenance and Reengineering, pages 174--183. IEEE Computer Society Press, March 2004. URL http://ieeexplore.ieee.org/search/wrapper.jsp?arnumber=1281418.

Cited By

View all
  • (2018)A systematic literature review: Refactoring for disclosing code smells in object oriented softwareAin Shams Engineering Journal10.1016/j.asej.2017.03.0029:4(2129-2151)Online publication date: Dec-2018
  • (2013)Refactoring Planning for Design Smell CorrectionProceedings of the 2013 IEEE International Conference on Software Maintenance10.1109/ICSM.2013.98(572-577)Online publication date: 22-Sep-2013
  • (2013)Using Jason to Develop Refactoring AgentsProceedings of the 2013 Brazilian Conference on Intelligent Systems10.1109/BRACIS.2013.16(44-50)Online publication date: 19-Oct-2013
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
WRT '12: Proceedings of the Fifth Workshop on Refactoring Tools
June 2012
69 pages
ISBN:9781450315005
DOI:10.1145/2328876
  • Conference Chair:
  • Peter Sommerlad
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

  • ICSE: International Conference on Software Engineering
  • SWEN: SWEN - Software Engineering Network

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 June 2012

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. HTN planning
  2. big refactorings
  3. case study
  4. design smell correction
  5. prototype
  6. refactoring
  7. refactoring plans
  8. refactoring strategies

Qualifiers

  • Research-article

Funding Sources

Conference

WRT '12
Sponsor:
  • ICSE
  • SWEN
WRT '12: Fifth Workshop on Refactoring Tools 2012
June 1, 2012
Rapperswil, Switzerland

Acceptance Rates

Overall Acceptance Rate 9 of 9 submissions, 100%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 07 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2018)A systematic literature review: Refactoring for disclosing code smells in object oriented softwareAin Shams Engineering Journal10.1016/j.asej.2017.03.0029:4(2129-2151)Online publication date: Dec-2018
  • (2013)Refactoring Planning for Design Smell CorrectionProceedings of the 2013 IEEE International Conference on Software Maintenance10.1109/ICSM.2013.98(572-577)Online publication date: 22-Sep-2013
  • (2013)Using Jason to Develop Refactoring AgentsProceedings of the 2013 Brazilian Conference on Intelligent Systems10.1109/BRACIS.2013.16(44-50)Online publication date: 19-Oct-2013
  • (2013)Towards extensive software architecture erosion repairsProceedings of the 7th European conference on Software Architecture10.1007/978-3-642-39031-9_25(299-306)Online publication date: 1-Jul-2013

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media