skip to main content
10.1145/3297280.3297448acmconferencesArticle/Chapter ViewAbstractPublication PagessacConference Proceedingsconference-collections
research-article

JCaliper: search-based technical debt management

Published:08 April 2019Publication History

ABSTRACT

Technical Debt (TD) reflects problems in software maintainability along evolution. TD principal is defined as the effort required for refactoring an existing system to an ideal one (a.k.a. optimal) that suffers from no maintainability problems. One of the open problems in the TD community is that ideal versions of systems do not exist, and there are no methods in the literature for approaching them, even theoretically. To alleviate this problem, in this paper we propose an efficient TD management strategy, by applying Search-Based Software Engineering techniques. In particular, we focus on one specific aspect of TD, namely inefficient software modularity, by properly assigning behavior and state to classes through search space exploration. At the same time, in the context of TD, we: (a) investigate the use of local search algorithms to obtain a near-optimum solution and propose TD repayment actions (i.e., refactorings), and (b) calculate the distance of a design to the corresponding optimal (i.e., a proxy of TD principal). The approach has been implemented in the JCaliper Eclipse plugin enabling a case study, which validates the approach and contrasts it to existing measure of software evolution.

References

  1. N. S. R. Alves, T. S. Mendes, M. G. de Mendonça, R. O. Spínola, F. Shull, and C. Seaman, "Identification and management of technical debt: A systematic mapping study," Inf. Softw. Technol., vol. 70, pp.100--121, Feb. 2016. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. A. Ampatzoglou, A. Ampatzoglou, A. Chatzigeorgiou, P. Avgeriou, P. Abrahamsson, A. Martini, U. Zdun, and K. Systa, "The Perception of Technical Debt in the Embedded Systems Domain: An Industrial Case Study," in 2016 IEEE 8th International Workshop on Managing Technical Debt (MTD), Raleigh, NC, USA, 2016, pp. 9--16.Google ScholarGoogle Scholar
  3. A. Arcuri and G. Fraser, "On Parameter Tuning in Search Based Software Engineering," in Search Based Software Engineering, M. B. Cohen and M. Ó. Cinnéide, Eds. Springer Berlin Heidelberg, 2011, pp. 33--47. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. E. M. Arvanitou, A. Ampatzoglou, A. Chatzigeorgiou, M. Galster, and P. Avgeriou, "A mapping study on design-time quality attributes and metrics," J. Syst. Softw., vol. 127, pp. 52--77, May 2017. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. M. Basdavanos and A. Chatzigeorgiou, "Placement of Entities in Object-Oriented Systems by Means of a Single-Objective Genetic Algorithm," in 2010 Fifth International Conference on Software Engineering Advances, Nice, France, 2010, pp. 70--75. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. G. Bavota, F. Carnevale, A. D. Lucia, M. D. Penta, and R. Oliveto, "Putting the Developer in-the-Loop: An Interactive GA for Software Re-modularization," in Search Based Software Engineering, G. Fraser and J. T. de Souza, Eds. Springer Berlin Heidelberg, 2012, pp. 75--89. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. G. Booch, R. A. Maksimchuk, M. W. Engle, B. J. Young, J. Conallen, and K. A. Houston, Object-Oriented Analysis and Design with Applications, 3 edition. Upper Saddle River, NJ: Addison-Wesley Professional, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. S. R. Chidamber and C. F. Kemerer, "A metrics suite for object oriented design," IEEE Trans. Softw. Eng., vol. 20, no. 6, pp. 476--493, Jun. 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. B. Curtis, J. Sappidi, and A. Szynkarski, "Estimating the principal of an application's technical debt," IEEE Softw., no. 6, pp. 34--42, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. E. Falkenauer, Genetic Algorithms and Grouping Problems, 1 edition. Chichester ; New York: Wiley, 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. M. Fowler, K. Beck, J. Brant, W. Opdyke, D. Roberts, and E. Gamma, Refactoring: Improving the Design of Existing Code, 1 edition. Reading, MA: Addison-Wesley Professional, 1999. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. E. Gamma, R. Helm, R. Johnson, J. Vlissides, and G. Booch, Design Patterns: Elements of Reusable Object-Oriented Software, 1 edition. Reading, Mass: Addison-Wesley Professional, 1994. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. C. Ghezzi, M. Jazayeri, and D. Mandrioli, Fundamentals of software engineering. Upper Saddle River, N.J.: Prentice Hall, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. F. Glover and M. Laguna, "Tabu Search," in Handbook of Combinatorial Optimization: Volume 1-3, D.-Z. Du and P. M. Pardalos, Eds. Boston, MA: Springer US, 1999, pp. 2093--2229.Google ScholarGoogle Scholar
  15. M. Harman and J. Clark, "Metrics Are Fitness Functions Too," in Proceedings of the Software Metrics, 10th International Symposium, USA, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. D. E. Knuth, The Art of Computer Programming, 1 edition. Amsterdam: Addison-Wesley Professional, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. P. Kruchten, R. L. Nord, and I. Ozkaya, "Technical debt: from metaphor to theory and practice," Ieee Softw., no. 6, pp. 18--21, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. M. M. Lehman, "Laws of software evolution revisited," in Software Process Technology, 1996, pp. 108--124. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. J. Letouzey and T. Coq, "The SQALE Analysis Model: An Analysis Model Compliant with the Representation Condition for Assessing the Quality of Software Source Code," in 2010 Second International Conference on Advances in System Testing and Validation Lifecycle, 2010, pp. 43--48. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. Z. Li, P. Liang, P. Avgeriou, N. Guelfi, and A. Ampatzoglou, "An empirical investigation of modularity metrics for indicating architectural technical debt," in Proceedings of the 10th international ACM Sigsoft conference on Quality of software architectures, 2014, pp. 119--128. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. R. Marinescu, "Assessing technical debt by identifying design flaws in software systems," IBM J. Res. Dev., vol. 56, no. 5, pp. 9--1, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. R. C. Martin, Agile software development: principles, patterns, and practices. Upper Saddle River, N.J.: Prentice Hall, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. R. H. Myers, D. C. Montgomery, and C. M. Anderson-Cook, Response Surface Methodology: Process and Product Optimization Using Designed Experiments. John Wiley & Sons, 2009.Google ScholarGoogle Scholar
  24. R. L. Nord, I. Ozkaya, P. Kruchten, and M. Gonzalez-Rojas, "In search of a metric for managing architectural technical debt," in Software Architecture (WICSA) and European Conference on Software Architecture (ECSA), 2012 Joint Working IEEE/IFIP Conference on, 2012, pp. 91--100. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. M. O'Keeffe and M. Ó. Cinnéide, "Search-based refactoring: an empirical study," J. Softw. Maint. Evol. Res. Pract, vol. 20, no. 5, pp.345--364, Sep. 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. A. J. Riel, Object-Oriented Design Heuristics, 1 edition. Reading, Mass.: Addison-Wesley Professional, 1996. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. P. Runeson, M. Host, A. Rainer, and B. Regnell, Case Study Research in Software Engineering: Guidelines and Examples, 1 edition. Wiley, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. S. Russell and P. Norvig, Artificial Intelligence: A Modern Approach, 3 edition. Upper Saddle River: Pearson, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. C. L. Simons and I. C. Parmee, "Elegant Object-Oriented Software Design via Interactive, Evolutionary Computation," IEEE Trans. Syst. Man Cybern. Part C Appl. Rev., vol. 42, no. 6, pp. 1797--1805, Nov. 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. P. Skiada, A. Ampatzoglou, E. M. Arvanitou, A. Chatzigeorgiou, and I. Stamelos, "Exploring the Relationship between Software Modularity and Technical Debt," in 4th Conference on Software Engineering and Advanced Applications (SEAA) 2018.Google ScholarGoogle Scholar
  31. N. Tsantalis and A. Chatzigeorgiou, "Identification of Move Method Refactoring Opportunities," IEEE Trans Softw Eng, vol. 35, May 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  32. H. van Vliet, Software Engineering: Principles and Practice, 3 edition. Chichester, England ; Hoboken, NJ: Wiley, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library
  33. S. Wang, S. Ali, and A. Gotlieb, "Random-Weighted Search-Based Multi-objective Optimization Revisited," in Search-Based Software Engineering, 2014, pp. 199--214.Google ScholarGoogle Scholar

Index Terms

  1. JCaliper: search-based technical debt management

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      SAC '19: Proceedings of the 34th ACM/SIGAPP Symposium on Applied Computing
      April 2019
      2682 pages
      ISBN:9781450359337
      DOI:10.1145/3297280

      Copyright © 2019 ACM

      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]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 8 April 2019

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      Overall Acceptance Rate1,650of6,669submissions,25%

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader