Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1109/TechDebt.2019.00028acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

On the diffuseness of code technical debt in Java projects of the apache ecosystem

Published: 26 May 2019 Publication History

Abstract

Background. Companies commonly invest major effort into removing, respectively not introducing, technical debt issues detected by static analysis tools such as SonarQube, Cast, or Coverity. These tools classify technical debt issues into categories according to severity, and developers commonly pay attention to not introducing issues with a high level of severity that could generate bugs or make software maintenance more difficult.
Objective. In this work, we aim to understand the diffuseness of Technical Debt (TD) issues and the speed with which developers remove them from the code if they introduced such an issue. The goal is to understand which type of TD is more diffused and how much attention is paid by the developers, as well as to investigate whether TD issues with a higher level of severity are resolved faster than those with a lower level of severity. We conducted a case study across 78K commits of 33 Java projects from the Apache Software Foundation Ecosystem to investigate the distribution of 1.4M TD items.
Results. TD items introduced into the code are mostly related to code smells (issues that can increase the maintenance effort). Moreover, developers commonly remove the most severe issues faster than less severe ones. However, the time needed to resolve issues increases when the level of severity increases (minor issues are removed faster that blocker ones).
Conclusion. One possible answer to the unexpected issue of resolution time might be that severity is not correctly defined by the tools. Another possible answer is that the rules at an intermediate severity level could be the ones that technically require more time to be removed. The classification of TD items, including their severity and type, require thorough investigation from a research point of view.

References

[1]
W. Cunningham, "The wycash portfolio management system," ser. OOPSLA '92, 1992.
[2]
W. Li and R. Shatnawi, "An empirical study of the bad smells and class error probability in the post-release object-oriented system evolution," Journal of Systems and Software, 2007.
[3]
V. Lenarduzzi, A. Sillitti, and D. Taibi, "A survey on code analysis tools for software maintenance prediction," in Software Engineering for Defence Applications --- SEDA, 2019.
[4]
G. Digkas, M. Lungu, P. Avgeriou, A. Chatzigeorgiou, and A. Ampatzoglou, "How do developers fix issues and pay back technical debt in the apache ecosystem?" in Int. Conference on Software Analysis, Evolution and Reengineering (SANER), 2018, pp. 153--163.
[5]
C. Vassallo, S. Panichella, F. Palomba, S. Proksch, A. Zaidman, and H. C. Gall, "Context is king: The developer perspective on the usage of static analysis tools," Int. Conference on Software Analysis, Evolution and Reengineering (SANER), vol. 2018-March, pp. 38--49, 2018.
[6]
D. Taibi, A. Janes, and V. Lenarduzzi, "How developers perceive smells in source code: A replicated study," Information and Software Technology, vol. 92, pp. 223 -- 235, 2017.
[7]
V. Lenarduzzi, A. Sillitti, and D. Taibi, "Analyzing forty years of software maintenance models," in 39th International Conference on Software Engineering Companion (ICSE-C '17), 2017, pp. 146--148.
[8]
Z. Li, P. Avgeriou, and P. Liang, "A systematic mapping study on technical debt and its management," Journal of Systems and Software, pp. 193--220.
[9]
M. Fowler and K. Beck, "Refactoring: Improving the design of existing code," Addison-Wesley Longman Publishing Co., Inc., 1999.
[10]
S. Vaucher, F. Khomh, N. Moha, and Y. Gueheneuc, "Tracking design smells: Lessons from a study of god classes," in Working Conference on Reverse Engineering, 2009, pp. 145--154.
[11]
S. Olbrich, D. S. Cruzes, V. Basili, and N. Zazworka, "The evolution and impact of code smells: A case study of two open source systems," in Int. Symp. on Empirical Software Engineering and Measurement, 2009.
[12]
A. Chatzigeorgiou and A. Manakos, "Investigating the evolution of bad smells in object-oriented code," in Int. Conference on the Quality of Information and Communications Technology, 2010, pp. 106--115.
[13]
R. Arcoverde, A. Garcia, and E. Figueiredo, "Understanding the longevity of code smells: Preliminary results of an explanatory survey," in Workshop on Refactoring Tools, 2011, pp. 33--36.
[14]
P. F. Tufano, M., G. Bavota, R. Oliveto, M. Di Penta, A. De Lucia, and A. Poshyvanyk, "When and why your code starts to smell bad (and whether the smells go away)," IEEE Transactions on Software Engineering, vol. 43, no. 11, pp. 1063--1088, Nov 2017.
[15]
F. Palomba, G. Bavota, M. D. Penta, F. Fasano, R. Oliveto, and A. D. Lucia, "On the diffuseness and the impact on maintainability of code smells: a large scale empirical investigation," Empirical Software Engineering, vol. 23, no. 3, pp. 1188--1221, Jun 2018.
[16]
G. Digkas, A. C. M. Lungu, and P. Avgeriou, "The evolution of technical debt in the apache ecosystem." Springer, 2017, pp. 51--66.
[17]
T. Amanatidis, A. Chatzigeorgiou, and A. Ampatzoglou, "The relation between technical debt and corrective maintenance in php web applications," Information and Software Technology, vol. 90, 2017.
[18]
M. Patton, Qualitative Evaluation and Research Methods. Newbury Park: Sage, 2002.
[19]
M. Nagappan, T. Zimmermann, and C. Bird, "Diversity in software engineering research," ser. ESEC/FSE 2013, 2013, pp. 466--476.
[20]
Student, "An Experimental Determination of the Probable Error of Dr Spearman's Correlation Coefficients," Biometrika, vol. 13, no. 2/3, p. 263, jul 1921.
[21]
J. Cohen, "Statistical power analysis for the behavioral sciences," Lawrence Earlbaum Associates, vol. 2, 1988.
[22]
D. Taibi, V. Lenarduzzi, and C. Pahl, "Processes, motivations, and issues for migrating to microservices architectures: An empirical investigation," IEEE Cloud Computing, vol. 4, no. 5, pp. 22--32, 2017.
[23]
N. Saarimäki, F. Lomio, V. Lenarduzzi, and D. Taibi, "Does migrate a monolithic system to microservices decreases the technical debt?" CoRR, vol. abs/1902.06282, 2019. {Online}. Available: http://arxiv.org/abs/1902.06282
[24]
D. Taibi, V. Lenarduzzi, and C. Pahl, "Architectural patterns for microservices: a systematic mapping study," 8th International Conference on Cloud Computing and Services Science (CLOSER2018), 2018.
[25]
D. Taibi and V. Lenarduzzi, "On the definition of microservice bad smells," IEEE Software, vol. 35, no. 3, pp. 56--62, 2018.
[26]
U. Azadi, F. Arcelli Fontana, and D. Taibi, "Architectural smells detected by tools: a catalogue proposal," International Conference on Technical Debt (TechDebt 2019), 2019.
[27]
L. Lavazza, S. Morasca, D. Taibi, and D. Tosi, "Predicting oss trustworthiness on the basis of elementary code assessment," in Int. Symp. on Empirical software engineering and measurement - ESEM, 2010.
[28]
L. Lavazza, S. Morasca, D. Taibi, and D. Tosid, "An empirical investigation of perceived reliability of open source java programs," in ACM Symposium on Applied Computing, SAC 2012, 2012, pp. 1109--1114.

Cited By

View all
  • (2024)Different Debt: An Addition to the Technical Debt Dataset and a Demonstration Using Developer PersonalityProceedings of the 7th ACM/IEEE International Conference on Technical Debt10.1145/3644384.3644475(31-35)Online publication date: 14-Apr-2024
  • (2022)Asking about Technical Debt: Characteristics and Automatic Identification of Technical Debt Questions on Stack OverflowProceedings of the 16th ACM / IEEE International Symposium on Empirical Software Engineering and Measurement10.1145/3544902.3546245(45-56)Online publication date: 19-Sep-2022
  • (2022)Does it matter who pays back Technical Debt? An empirical study of self-fixed TDInformation and Software Technology10.1016/j.infsof.2021.106738143:COnline publication date: 1-Mar-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
TechDebt '19: Proceedings of the Second International Conference on Technical Debt
May 2019
137 pages

Sponsors

Publisher

IEEE Press

Publication History

Published: 26 May 2019

Check for updates

Author Tags

  1. sonarqube
  2. technical debt issues
  3. violations

Qualifiers

  • Research-article

Conference

ICSE '19
Sponsor:

Acceptance Rates

Overall Acceptance Rate 14 of 31 submissions, 45%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)7
  • Downloads (Last 6 weeks)0
Reflects downloads up to 21 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Different Debt: An Addition to the Technical Debt Dataset and a Demonstration Using Developer PersonalityProceedings of the 7th ACM/IEEE International Conference on Technical Debt10.1145/3644384.3644475(31-35)Online publication date: 14-Apr-2024
  • (2022)Asking about Technical Debt: Characteristics and Automatic Identification of Technical Debt Questions on Stack OverflowProceedings of the 16th ACM / IEEE International Symposium on Empirical Software Engineering and Measurement10.1145/3544902.3546245(45-56)Online publication date: 19-Sep-2022
  • (2022)Does it matter who pays back Technical Debt? An empirical study of self-fixed TDInformation and Software Technology10.1016/j.infsof.2021.106738143:COnline publication date: 1-Mar-2022
  • (2020)An empirical study on self-fixed technical debtProceedings of the 3rd International Conference on Technical Debt10.1145/3387906.3388621(11-20)Online publication date: 28-Jun-2020
  • (2020)Towards better technical debt detection with NLP and machine learning methodsProceedings of the ACM/IEEE 42nd International Conference on Software Engineering: Companion Proceedings10.1145/3377812.3381404(242-245)Online publication date: 27-Jun-2020
  • (2019)The Technical Debt DatasetProceedings of the Fifteenth International Conference on Predictive Models and Data Analytics in Software Engineering10.1145/3345629.3345630(2-11)Online publication date: 18-Sep-2019

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media