Abstract

Maintenance and complexity issues in software development continue to increase because of new requirements and software evolution, and refactoring is required to help software adapt to the changes. The goal of refactoring is to fix smells in the system. Fixing architectural smells requires more effort than other smells because it is tangled in multiple components in the system. Architecture smells refer to commonly used architectural decisions that negatively impact system quality. They cause high software coupling, create complications when developing new requirements, and are hard to test and reuse. This paper presented a tool to analyze the causes of architectural smells such as cyclic dependency and unstable dependency and included a priority metric that could be used to optimize the smell with the most refactoring efforts and simulate the most cost-effective refactoring path sequence for a developer to follow. Using a real case scenario, a refactoring path was evaluated with real refactoring execution, and the validity of the path was verified.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call