skip to main content
10.1145/3242163.3242165acmconferencesArticle/Chapter ViewAbstractPublication PagesaseConference Proceedingsconference-collections
short-paper

Support for architectural smell refactoring

Published: 04 September 2018 Publication History

Abstract

To preserve high quality of a project, it is necessary to perform many refactoring steps during the development and maintenance phases. Code refactoring received a great attention in the literature, often directed to the refactoring of code smells. While at the architectural level, architectural smells received less attention. One of the most common architectural smell which may affect many parts of a software application is the Cyclic Dependency smell. This position paper presents a tool prototype that suggests which path a developer could follow to remove Cyclic Dependency smells in Java applications. The tool has been developed as an extension of the Arcan tool for architectural smells detection. In this paper we describe how the tool identifies the path to follow for the refactoring of Cyclic Dependency on real projects. The tool has been thought only to suggest a possible refactoring approach which a developer could considerate to resolve Cyclic Dependency.

References

[1]
Hussain A. Al-Mutawa, Jens Dietrich, Stephen Marsland, and Catherine McCartin. 2014. On the Shape of Circular Dependencies in Java Programs. In 23rd Australian Software Engineering Conference, ASWEC 2014, Milsons, Australia, April 7-10, 2014.
[2]
[3]
F. Arcelli Fontana, I. Pigazzini, R. Roveda, D. E. Tamburri, M. Zanoni, and E. Di Nitto. 2017. Arcan: a Tool for Architectural Smells Detection. In IEEE International Conference on Software Architecture (ICSA 2017).
[4]
Gabriele Bavota, Andrea De Lucia, Massimiliano Di Penta, Rocco Oliveto, and Fabio Palomba. 2015. An experimental investigation on the innate relationship between quality and refactoring. Journal of Systems and Software 107 (2015), 1 – 14.
[5]
Andrea Caracciolo, Bledar Aga, Mircea Lungu, and Oscar Nierstrasz. 2016. Marea: A Semi-Automatic Decision Support System for Breaking Dependency Cycles. In IEEE 23rd International Conference on Software Analysis, Evolution, and Reengineering, SANER 2016, Suita, Osaka, Japan, March 14-18, 2016 - Volume 1. 482–492.
[6]
Francesca Arcelli Fontana, Ilaria Pigazzini, Riccardo Roveda, and Marco Zanoni. 2016. Automatic Detection of Instability Architectural Smells. In 2016 IEEE Int. Conf. on Software Maintenance and Evolution, ICSME, USA, October 2-7, 2016.
[7]
433–437.
[8]
Francesca Arcelli Fontana and Stefano Spinelli. 2011. Impact of refactoring on quality code evaluation. In Fourth Work. on Refactoring Tools 2011, WRT, Waikiki, Honolulu, USA, 2011. 37–40.
[9]
Martin Fowler. 2001. Reducing Coupling. IEEE Software 18, 4 (2001), 102–104.
[10]
Joshua Garcia, Daniel Popescu, George Edwards, and Nenad Medvidovic. 2009. Identifying Architectural Bad Smells. In 13th European Conference on Software Maintenance and Reengineering, CSMR 2009, Architecture-Centric Maintenance of Large-SCale Software Systems, Kaiserslautern, Germany, 24-27 March 2009. 255–258.
[11]
Yun Lin, Xin Peng, Yuanfang Cai, Danny Dig, Diwen Zheng, and Wenyun Zhao. 2016. Interactive and guided architectural refactoring with search-based recommendation. In Proceedings of the 24th ACM SIGSOFT International Symposium on Foundations of Software Engineering, FSE 2016, Seattle, WA, USA, November 13-18, 2016. 535–546.
[12]
Martin Lippert and Stephen Roock. 2006. Refactoring in large software projects: performing complex restructurings successfully. John Wiley & Sons.
[13]
Robert Cecil Martin. 2003. Agile Software Development: Principles, Patterns, and Practices. Prentice Hall PTR, Upper Saddle River, NJ, USA.
[14]
Mel Ó Cinnéide, Aiko Yamashita, and Steve Counsell. 2016. Measuring Refactoring Benefits: A Survey of the Evidence. In Proceedings of the 1st International Workshop on Software Refactoring (IWoR 2016). ACM, New York, NY, USA, 9–12.
[15]
Ali Ouni, Marouane Kessentini, and Houari Sahraoui. 2014. Chapter Four - Multiobjective Optimization for Software Refactoring and Evolution. In Advances in Computers, Ali Hurson (Ed.). Vol. 94. Elsevier, 103 – 167. 1016/B978-0-12-800161-5.00004-9
[16]
Satwinder Singh and Sharanpreet Kaur. 2017. A systematic literature review: Refactoring for disclosing code smells in object oriented software. Ain Shams Eng.Jour. (2017).
[17]
Stal, Michael. 2013. Software architecture refactoring. Software Architecture Refactoring, Siemens AG Corporate Technology. In Tutorial, in The Int. Conf. on Object Oriented Programming, Systems, Languages and Applications (OOPSLA). http://stal.blogspot.in/2007/01/architecture-refactoring.html.
[18]
Girish Suryanarayana, Ganesh Samarthyam, and Tushar Sharma. 2014. Refactoring for Software Design Smells: Managing Technical Debt (1st ed.). Morgan Kaufmann Publishers Inc., San Francisco, CA, USA.

Cited By

View all
  • (2024)The Study on Software Architecture Smell RefactoringInternational Journal of Software Innovation10.4018/IJSI.33988412:1(1-17)Online publication date: 9-Apr-2024
  • (2023)Software Evolutionary Architecture: Automated Planning for Functional ChangesScience of Computer Programming10.1016/j.scico.2023.102978(102978)Online publication date: Jun-2023
  • (2022)Industry experiences with large-scale refactoringProceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3540250.3558954(1544-1554)Online publication date: 7-Nov-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
IWoR 2018: Proceedings of the 2nd International Workshop on Refactoring
September 2018
45 pages
ISBN:9781450359740
DOI:10.1145/3242163
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: 04 September 2018

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Architectural Refactoring
  2. Architectural Smells
  3. Cyclic Dependency

Qualifiers

  • Short-paper

Conference

ASE '18
Sponsor:

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)15
  • Downloads (Last 6 weeks)0
Reflects downloads up to 27 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)The Study on Software Architecture Smell RefactoringInternational Journal of Software Innovation10.4018/IJSI.33988412:1(1-17)Online publication date: 9-Apr-2024
  • (2023)Software Evolutionary Architecture: Automated Planning for Functional ChangesScience of Computer Programming10.1016/j.scico.2023.102978(102978)Online publication date: Jun-2023
  • (2022)Industry experiences with large-scale refactoringProceedings of the 30th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3540250.3558954(1544-1554)Online publication date: 7-Nov-2022
  • (2022)Architectural Refactoring for Functional Properties in Evolutionary Architecture2022 IEEE 19th International Conference on Software Architecture (ICSA)10.1109/ICSA53651.2022.00022(146-156)Online publication date: Mar-2022
  • (2022)Characterizing the Architectural Erosion Metrics: A Systematic Mapping StudyIEEE Access10.1109/ACCESS.2022.315084710(22915-22940)Online publication date: 2022
  • (2022)CALint: A Tool for Enforcing the Clean Architecture’s Dependency Rule in PythonComputational Science and Its Applications – ICCSA 2022 Workshops10.1007/978-3-031-10548-7_39(534-549)Online publication date: 26-Jul-2022
  • (2022)Impacts, causes, and solutions of architectural smells in microservices: An industrial investigationSoftware: Practice and Experience10.1002/spe.313852:12(2574-2597)Online publication date: 18-Aug-2022
  • (2021)Software Architectural MigrationACM Transactions on Software Engineering and Methodology10.1145/346101130:4(1-35)Online publication date: 23-Jul-2021
  • (2021)An Evolutionary Analysis of Software-Architecture Smells2021 IEEE International Conference on Software Maintenance and Evolution (ICSME)10.1109/ICSME52107.2021.00043(413-424)Online publication date: Sep-2021
  • (2021)Behind the scenes: On the relationship between developer experience and refactoringJournal of Software: Evolution and Process10.1002/smr.2395Online publication date: 28-Oct-2021
  • 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

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media