Technical debt(TD)happens when project teams carry out technical decisions in favor of a short-term goal(s)in their projects,whether deliberately or unknowingly.TD must be properly managed to guarantee that its negati...Technical debt(TD)happens when project teams carry out technical decisions in favor of a short-term goal(s)in their projects,whether deliberately or unknowingly.TD must be properly managed to guarantee that its negative implications do not outweigh its advantages.A lot of research has been conducted to show that TD has evolved into a common problem with considerable financial burden.Test technical debt is the technical debt aspect of testing(or test debt).Test debt is a relatively new concept that has piqued the curiosity of the software industry in recent years.In this article,we assume that the organization selects the testing artifacts at the start of every sprint.Implementing the latest features in consideration of expected business value and repaying technical debt are among candidate tasks in terms of the testing process(test cases increments).To gain the maximum benefit for the organization in terms of software testing optimization,there is a need to select the artifacts(i.e.,test cases)with maximum feature coverage within the available resources.The management of testing optimization for large projects is complicated and can also be treated as a multi-objective problem that entails a trade-off between the agile software’s short-term and long-term value.In this article,we implement a multi-objective indicatorbased evolutionary algorithm(IBEA)for fixing such optimization issues.The capability of the algorithm is evidenced by adding it to a real case study of a university registration process.展开更多
Technical debt is a metaphor for seeking short-term gains at expense of long-term code quality.Previous studies have shown that self-admitted technical debt,which is introduced intentionally,has strong negative impact...Technical debt is a metaphor for seeking short-term gains at expense of long-term code quality.Previous studies have shown that self-admitted technical debt,which is introduced intentionally,has strong negative impacts on software development and incurs high maintenance overheads.To help developers identify self-admitted technical debt,researchers have proposed many state-of-the-art methods.However,there is still room for improvement about the effectiveness of the current methods,as self-admitted technical debt comments have the characteristics of length variability,low proportion and style diversity.Therefore,in this paper,we propose a novel approach based on the bidirectional long short-term memory(BiLSTM)networks with the attention mechanism to automatically detect self-admitted technical debt by leveraging source code comments.In BiLSTM,we utilize a balanced cross entropy loss function to overcome the class unbalance problem.We experimentally investigate the performance of our approach on a public dataset including 62,566 code comments from ten open source projects.Experimental results show that our approach achieves 81.75%in terms of precision,72.24%in terms of recall and 75.86%in terms of F1-score on average and outperforms the state-of-the-art text mining-based method by 8.14%,5.49%and 6.64%,respectively.展开更多
Technical debt is considered detrimental to the long-term success of software development,but despite the numerous studies in the literature,there are still many aspects that need to be investigated for a better under...Technical debt is considered detrimental to the long-term success of software development,but despite the numerous studies in the literature,there are still many aspects that need to be investigated for a better understanding of it.In particular,the main problems that hinder its complete understanding are the absence of a clear definition and a model for its identification,management,and forecasting.Focusing on forecasting technical debt,there is a growing notion that preventing technical debt build-up allows you to identify and address the riskiest debt items for the project before they can permanently compromise it.However,despite this high relevance,the forecast of technical debt is still little explored.To this end,this study aims to evaluate whether the quality metrics of a software system can be useful for the correct prediction of the technical debt.Therefore,the data related to the quality metrics of 8 different open-source software systems were analyzed and supplied as input to multiple machine learning algorithms to perform the prediction of the technical debt.In addition,several partitions of the initial dataset were evaluated to assess whether prediction performance could be improved by performing a data selection.The results obtained show good forecasting performance and the proposed document provides a useful approach to understanding the overall phenomenon of technical debt for practical purposes.展开更多
Artificial intelligence(AI)relies on data and algorithms.State-of-the-art(SOTA)AI smart algorithms have been developed to improve the performance of AI-oriented structures.However,model-centric approaches are limited ...Artificial intelligence(AI)relies on data and algorithms.State-of-the-art(SOTA)AI smart algorithms have been developed to improve the performance of AI-oriented structures.However,model-centric approaches are limited by the absence of high-quality data.Data-centric AI is an emerging approach for solving machine learning(ML)problems.It is a collection of various data manipulation techniques that allow ML practitioners to systematically improve the quality of the data used in an ML pipeline.However,data-centric AI approaches are not well documented.Researchers have conducted various experiments without a clear set of guidelines.This survey highlights six major data-centric AI aspects that researchers are already using to intentionally or unintentionally improve the quality of AI systems.These include big data quality assessment,data preprocessing,transfer learning,semi-supervised learning,machine learning operations(MLOps),and the effect of adding more data.In addition,it highlights recent data-centric techniques adopted by ML practitioners.We addressed how adding data might harm datasets and how HoloClean can be used to restore and clean them.Finally,we discuss the causes of technical debt in AI.Technical debt builds up when software design and implementation decisions run into“or outright collide with”business goals and timelines.This survey lays the groundwork for future data-centric AI discussions by summarizing various data-centric approaches.展开更多
基金The authors would like to thank the Deanship of Scientific Research at Umm Al-Qura University for supporting this work by Grant Code:(22UQUyouracademicnumberDSRxx).
文摘Technical debt(TD)happens when project teams carry out technical decisions in favor of a short-term goal(s)in their projects,whether deliberately or unknowingly.TD must be properly managed to guarantee that its negative implications do not outweigh its advantages.A lot of research has been conducted to show that TD has evolved into a common problem with considerable financial burden.Test technical debt is the technical debt aspect of testing(or test debt).Test debt is a relatively new concept that has piqued the curiosity of the software industry in recent years.In this article,we assume that the organization selects the testing artifacts at the start of every sprint.Implementing the latest features in consideration of expected business value and repaying technical debt are among candidate tasks in terms of the testing process(test cases increments).To gain the maximum benefit for the organization in terms of software testing optimization,there is a need to select the artifacts(i.e.,test cases)with maximum feature coverage within the available resources.The management of testing optimization for large projects is complicated and can also be treated as a multi-objective problem that entails a trade-off between the agile software’s short-term and long-term value.In this article,we implement a multi-objective indicatorbased evolutionary algorithm(IBEA)for fixing such optimization issues.The capability of the algorithm is evidenced by adding it to a real case study of a university registration process.
基金This work was partially supported by the National Natural Science Foundation of China(Grants Nos.61100043,61902096 and 61702144)Key Project of Science and Technology of Zhejiang Province(2017C01010).
文摘Technical debt is a metaphor for seeking short-term gains at expense of long-term code quality.Previous studies have shown that self-admitted technical debt,which is introduced intentionally,has strong negative impacts on software development and incurs high maintenance overheads.To help developers identify self-admitted technical debt,researchers have proposed many state-of-the-art methods.However,there is still room for improvement about the effectiveness of the current methods,as self-admitted technical debt comments have the characteristics of length variability,low proportion and style diversity.Therefore,in this paper,we propose a novel approach based on the bidirectional long short-term memory(BiLSTM)networks with the attention mechanism to automatically detect self-admitted technical debt by leveraging source code comments.In BiLSTM,we utilize a balanced cross entropy loss function to overcome the class unbalance problem.We experimentally investigate the performance of our approach on a public dataset including 62,566 code comments from ten open source projects.Experimental results show that our approach achieves 81.75%in terms of precision,72.24%in terms of recall and 75.86%in terms of F1-score on average and outperforms the state-of-the-art text mining-based method by 8.14%,5.49%and 6.64%,respectively.
文摘Technical debt is considered detrimental to the long-term success of software development,but despite the numerous studies in the literature,there are still many aspects that need to be investigated for a better understanding of it.In particular,the main problems that hinder its complete understanding are the absence of a clear definition and a model for its identification,management,and forecasting.Focusing on forecasting technical debt,there is a growing notion that preventing technical debt build-up allows you to identify and address the riskiest debt items for the project before they can permanently compromise it.However,despite this high relevance,the forecast of technical debt is still little explored.To this end,this study aims to evaluate whether the quality metrics of a software system can be useful for the correct prediction of the technical debt.Therefore,the data related to the quality metrics of 8 different open-source software systems were analyzed and supplied as input to multiple machine learning algorithms to perform the prediction of the technical debt.In addition,several partitions of the initial dataset were evaluated to assess whether prediction performance could be improved by performing a data selection.The results obtained show good forecasting performance and the proposed document provides a useful approach to understanding the overall phenomenon of technical debt for practical purposes.
文摘Artificial intelligence(AI)relies on data and algorithms.State-of-the-art(SOTA)AI smart algorithms have been developed to improve the performance of AI-oriented structures.However,model-centric approaches are limited by the absence of high-quality data.Data-centric AI is an emerging approach for solving machine learning(ML)problems.It is a collection of various data manipulation techniques that allow ML practitioners to systematically improve the quality of the data used in an ML pipeline.However,data-centric AI approaches are not well documented.Researchers have conducted various experiments without a clear set of guidelines.This survey highlights six major data-centric AI aspects that researchers are already using to intentionally or unintentionally improve the quality of AI systems.These include big data quality assessment,data preprocessing,transfer learning,semi-supervised learning,machine learning operations(MLOps),and the effect of adding more data.In addition,it highlights recent data-centric techniques adopted by ML practitioners.We addressed how adding data might harm datasets and how HoloClean can be used to restore and clean them.Finally,we discuss the causes of technical debt in AI.Technical debt builds up when software design and implementation decisions run into“or outright collide with”business goals and timelines.This survey lays the groundwork for future data-centric AI discussions by summarizing various data-centric approaches.