Sort:
Survey Issue
Machine Learning Techniques for Software Maintainability Prediction: Accuracy Analysis
Journal of Computer Science and Technology 2020, 35 (5): 1147-1174
Published: 30 September 2020
Abstract Collect

Maintaining software once implemented on the end-user side is laborious and, over its lifetime, is most often considerably more expensive than the initial software development. The prediction of software maintainability has emerged as an important research topic to address industry expectations for reducing costs, in particular, maintenance costs. Researchers and practitioners have been working on proposing and identifying a variety of techniques ranging from statistical to machine learning (ML) for better prediction of software maintainability. This review has been carried out to analyze the empirical evidence on the accuracy of software product maintainability prediction (SPMP) using ML techniques. This paper analyzes and discusses the findings of 77 selected studies published from 2000 to 2018 according to the following criteria: maintainability prediction techniques, validation methods, accuracy criteria, overall accuracy of ML techniques, and the techniques offering the best performance. The review process followed the well-known systematic review process. The results show that ML techniques are frequently used in predicting maintainability. In particular, artificial neural network (ANN), support vector machine/regression (SVM/R), regression & decision trees (DT), and fuzzy & neuro fuzzy (FNF) techniques are more accurate in terms of PRED and MMRE. The N-fold and leave-one-out cross-validation methods, and the MMRE and PRED accuracy criteria are frequently used in empirical studies. In general, ML techniques outperformed non-machine learning techniques, e.g., regression analysis (RA) techniques, while FNF outperformed SVM/R, DT, and ANN in most experiments. However, while many techniques were reported superior, no specific one can be identified as the best.

Open Access Issue
Software Project Management Approaches for Global Software Development: A Systematic Mapping Study
Tsinghua Science and Technology 2018, 23 (6): 690-714
Published: 15 October 2018
Abstract PDF (3.2 MB) Collect
Downloads:44

Global Software Development (GSD) is a well established field of software engineering with the benefits of a global environment. Software Project Management (SPM) plays a key role in the success of GSD. As a result, the need has arisen to study and evaluate the downsides of SPM for GSD, to thereby pave the way for the development of new methods, techniques, and tools with which to tackle them. This paper aims to identify and classify research on SPM approaches for GSD that are available in the literature, to identify their current weaknesses and strengths, and to analyze their applications in industry. We performed a Systematic Mapping Study (SMS) based on six classification criteria. Eighty-four papers were selected and analyzed. The results indicate that interest in SPM for GSD has been increasing since 2006. As a class of approaches, the most frequently reported methods (40%) are those used for coordination, planning, and monitoring, along with estimation techniques that can be used to better match a distributed project. SPM for GSD requires further investigation by researchers and practitioners, particularly with respect to cost and time estimations. These findings will help overcome the challenges that must to be considered in future SPM research for GSD, especially regarding collaboration and time-zone differences.

Total 2