Does Technical Debt Lead to the Rejection of Pull Requests?

  • Marcelino Campos Oliveira Silva Chemtech - A Siemens Business
  • Marco Tulio Valente Universidade Federal de Minas Gerais
  • Ricardo Terra Universidade Federal de Lavras

Resumo


Technical Debt is a term used to classify non-optimal solutions during software development. These solutions cause several maintenance problems and hence they should be avoided or at least documented. Although there are a considered number of studies that focus on the identification of Technical Debt, we focus on the identification of Technical Debt in pull requests. Specifically, we conduct an investigation to reveal the different types of Technical Debt that can lead to the rejection of pull requests. From the analysis of 1,722 pull requests, we classify Technical Debt in seven categories namely design, documentation, test, build, project convention, performance, or security debt. Our results indicate that the most common category of Technical Debt is design with 39.34%, followed by test with 23.70% and project convention with 15.64%. We also note that the type of Technical Debt influences on the size of push request discussions, e.g., security and project convention debts instigate more discussion than the other types.

Palavras-chave: Technical Debt, Pull Request, GitHub

Referências

Basili, V. R. C., Gianluigi, H. R. D. 1994. The Goal Question Metric Approach. Chapter in Encyclopedia of Software Engineering, Wiley.

Carneiro, G., Conceição C. F., David, J. M. N. 2012. A Multiple View Environment for Collaborative Software Comprehension. ICSEA: The Seventh International Conf. on Software Engineering Advances, Portugal, 15-21.

D’Ambros M., Lanza, M. 2010. Distributed and Collaborative Software Evolution Analysis with Churrasco. Experimental Software and Toolkits (EST 3): A special issue of the Workshop on Academic Software Development Tools and Techniques (WASDeTT), 276–287.

Fedotova, O.; Teixeira, L.; Alvelos, H. 2013. Software Effort Estimation with Multiple Linear Regression: Review and Practical Application. Journal of Information Science and Engineering, v. 29, n. 5, 925-945.

Franco, N. B. Cálculo numérico, 2006. Pearson, 5-14.

Gestal, P. R. E, Barros, R. M. 2014 Proposta de Um Simulador para Auxiliar no Processo de Ensino do Scrum. In Simpósio Brasileiro de Sistemas de Informação (SBSI), 723- 736.

Kevic, K., Muller, S. C., Fritz, T., & Gall, H. C. 2013. Collaborative bug triaging using textual similarities and change set analysis. Cooperative and Human Aspects of Software Engineering (CHASE), 6th International Workshop on, IEEE, 17-24.

Kitchenham, B.A., Charters, S. 2007. Guidelines for performing systematic literature reviews in software engineering. Tech. Rep. EBSE-2007-01, Keele University.

Levenshtein V. Binary Codes Capable of Correcting Deletions, Insertions, and Reversals, Soviet Physice- Doklady, 10:707-710, 1966.

Massart, D. L., Smeyers-Verbeke, J. C. X., Schlesier, K. 2005. Visual presentation of data by means of box plot.
Paredes, J., Anslow, C., & Maurer, F. 2014. Information Visualization for Agile Software Development. In Software Visualization (VISSOFT), 2014 Second IEEE Working Conference on. 157-166.

Peixoto, C. E. L, Audy J. L. N., Prikladnicki, R. 2010, The importance of the use of an estimation process. In: ICSE Workshop on Software Development Governance. ACM.. 13-17.

Poncin, W., Serebrenik, A., Van Den Brand, M. Process mining software repositories. 2011. Software Maintenance and Reengineering (CSMR), 2011 15th European Conference on. IEEE. 5-14.

Storey, M. D., Čubranić D., German, D, M. 2005. On the use of visualization to support awareness of human activities in software development: a survey and a framework. Proceedings of the 2005 ACM symposium on Software visualization, 193-202.

Tavares, J., David, J. M. N., Araújo, M. A.P., Braga, R., Campos, F. C. A. Carneiro, C. GiveMe Views: uma ferramenta de suporte a evolução de software baseada na análise de dados históricos. 2015. In Simpósio Brasileiro de Sistemas de Informação (SBSI), 55-62.
Publicado
17/05/2016
SILVA, Marcelino Campos Oliveira; VALENTE, Marco Tulio; TERRA, Ricardo. Does Technical Debt Lead to the Rejection of Pull Requests?. In: SIMPÓSIO BRASILEIRO DE SISTEMAS DE INFORMAÇÃO (SBSI), 12. , 2016, Florianópolis. Anais [...]. Porto Alegre: Sociedade Brasileira de Computação, 2016 . p. 248-254. DOI: https://doi.org/10.5753/sbsi.2016.5969.