ABSTRACT
We can improve software quality in different ways and by removing different kinds of problems. In this paper, we focus our attention on architectural problems, as architectural smells or antipatterns represent, we remove some of these problems through refactoring steps and we check the impact that the refactoring has on different quality metrics. In particular, we focus our attention on some Quality Indexes computed by four tools. These tools are used also for the detection of the architectural problems. We present the results and outline different issues related to the impact of the refactoring of these architectural problems on the Quality Indexes and the difficulties in the choice of the problems to be refactored.
- M. Alshayeb. Empirical investigation of refactoring effect on software quality. Inf. Softw. Technol., 51(9):1319--1326, Sept. 2009. Google ScholarDigital Library
- F. Arcelli Fontana, V. Ferme, and S. Spinelli. Investigating the impact of code smells debt on quality code evaluation. In Managing Technical Debt (MTD), 2012 Third International Workshop on, pages 15--22, June 2012. Google ScholarDigital Library
- F. Arcelli Fontana, V. Ferme, M. Zanoni, and R. Roveda. Towards a prioritization of code debt: A code smell intensity index. In Proceedings of the 7th Int. Workshop on Managing Technical Debt (MTD 2015), pages 16--24, Bremen, Germany, Oct. 2015. IEEE. In conjunction with ICSME 2015.Google Scholar
- F. Arcelli Fontana, M. Zanoni, A. Ranchetti, and D. Ranchetti. Software clone detection and refactoring. ISRN Software Engineering, 2013:8, 2013.Google ScholarCross Ref
- G. Bavota, B. D. Carluccio, A. D. Lucia, M. D. Penta, R. Oliveto, and O. Strollo. When does a refactoring induce bugs? an empirical study. In 12th IEEE International Working Conference on Source Code Analysis and Manipulation, SCAM 2012, Riva del Garda, Italy, September 23-24, 2012, pages 104--113, 2012. Google ScholarDigital Library
- W. Brown, R. C. Malveau, H. W. McCormick III, and T. J. Mowbray. AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis. John Wiley, April 1998. Google ScholarDigital Library
- K. O. Elish and M. Alshayeb. Investigating the effect of refactoring on software testing effort. In 16th Asia-Pacific Software Engineering Conference, APSEC 2009, 1-3 December 2009, Batu Ferringhi, Penang, Malaysia, pages 29--34, 2009. Google ScholarDigital Library
- M. Fowler. Refactoring: Improving the Design of Existing Code. Addison-Wesley, Boston, USA, 1999. Google ScholarDigital Library
- J. Garcia, D. Popescu, G. Edwards, and N. Medvidovic. Identifying architectural bad smells. In Proc. of the 13th Eur. Conf. on Software Maintenance and Reengineering (CSMR 2009), pages 255--258, Germany, Mar. 2009. IEEE. Google ScholarDigital Library
- M. Gatrell and S. Counsell. The effect of refactoring on change and fault-proneness in commercial c software. Science of Computer Programming, 102:44 --56, 2015. Google ScholarDigital Library
- Y. Kataoka, T. Imai, H. Andou, and T. Fukaya. A quantitative evaluation of maintainability enhancement by refactoring. In Software Maintenance, 2002. Proceedings. International Conference on, pages 576--585, 2002. Google ScholarDigital Library
- K. U. P. N. P. E. Kavitha. A quantitative approach for evaluating the effectiveness ofrefactoring in software development process. In Methods and Models in Computer Science, 2009, ICM2CS 2009, Delhi, Proceeding of International Conference on, pages 1--7. IEEE Computer Society, 2009.Google Scholar
- J.-L. Letouzey. The sqale method for evaluating technical debt. In Proceedings of the Third International Workshop on Managing Technical Debt, MTD '12, pages 31--36, Piscataway, NJ, USA, 2012. IEEE Press. Google ScholarDigital Library
- M. Lippert and S. Roock. Refactoring in Large Software Projects: Performing Complex Restructurings Successfully. Wiley, Apr. 2006.Google Scholar
- I. Macia, R. Arcoverde, A. Garcia, C. Chavez, and A. von Staa. On the relevance of code anomalies for identifying architecture degradation symptoms. In Proceedings of the 15th European Conference on Software Maintenance and Reengineering (CSMR 2012), pages 277--286, Szeged, Hungary, Mar. 2012. IEEE Computer Society. Google ScholarDigital Library
- T. Mens and A. V. Deursen. Refactoring: Emerging trends and open problems, 2004.Google Scholar
- W. Oizumi, A. Garcia, M. Ferreira, A. von Staa, and T. Colanzi. When code-anomaly agglomerations represent architectural problems? an exploratory study. In Software Engineering (SBES), 2014 Brazilian Symposium on, pages 91--100, Sept 2014. Google ScholarDigital Library
- R. Shatnawi and W. Li. An empirical assessment of refactoring impact on software quality using a hierarchical quality model. International Journal of Software Engineering and its Applications, 5(4):127--150, 2011. cited By 10.Google Scholar
- Q. D. Soetens and S. Demeyer. Studying the effect of refactorings: A complexity metrics perspective. In 7th International Conference on the Quality of Information and Communications Technology, QUATIC 2010, Porto, Portugal, 29 September-2 October, 2010, Proceedings, pages 313--318, 2010. Google ScholarDigital Library
- K. Stroggylos and D. Spinellis. Refactoring--does it improve software quality? In Proceedings of the 5th International Workshop on Software Quality, WoSQ '07, pages 10--, Washington, DC, USA, 2007. IEEE Computer Society. Google ScholarDigital Library
- E. Tempero, C. Anslow, J. Dietrich, T. Han, J. Li, M. Lumpe, H. Melton, and J. Noble. The qualitas corpus: A curated collection of java code for empirical studies. In Proc. 17th Asia Pacific Software Engineering Conference (APSEC 2010), pages 336--345, Sydney, Australia, December 2010. IEEE. Google ScholarDigital Library
Recommendations
Support for architectural smell refactoring
IWoR 2018: Proceedings of the 2nd International Workshop on RefactoringTo 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. ...
Aspect-Oriented Refactoring of Legacy Applications: An Evaluation
The primary claimed benefits of aspect-oriented programming (AOP) are that it improves the understandability and maintainability of software applications by modularizing crosscutting concerns. Before there is widespread adoption of AOP, developers need ...
Quantifying Quality of Software Design to Measure the Impact of Refactoring
COMPSACW '12: Proceedings of the 2012 IEEE 36th Annual Computer Software and Applications Conference WorkshopsSoftware design plays a vital role in a software system. A flexible, maintainable, extensible, and re-usable software design enables easier integration of new requirements. In the current era of software development, refactoring is used periodically to ...
Comments