change-proneness prediction of software components has become a significant research area wherein the quest for the best classifier still persists. Although numerous statistical and Machine Learning (ML) techniques ha...
详细信息
ISBN:
(纸本)9781538666739
change-proneness prediction of software components has become a significant research area wherein the quest for the best classifier still persists. Although numerous statistical and Machine Learning (ML) techniques have been presented and employed in the past literature for an efficient generation of change-proneness prediction models, evolutionary algorithms, on the other hand, remain vastly unexamined and unaddressed for this purpose. Bearing this in mind, this research work targets to probe the potency of six evolutionary algorithms for developing such change prediction models, specifically for sourcecode files. We employ apposite object oriented metrics to construct four software datasets from four consecutive releases of a software project. Furthermore, the prediction capability of the selected evolutionary algorithms is evaluated, ranked and compared against two statistical classifiers using the Wilcoxon signed rank test and Friedman statistical test. On the basis of the results obtained from the experiments conducted in this article, it can be ascertained that the evolutionary algorithms possess a capability for predicting change-prone files with high accuracies, sometimes even higher than the selected statistical classifiers.
One of the difficulties developers encounter in maintaining tasks of a large-scale software system is the updating of suitable libraries on time. Developers tend to miss or make mistakes when searching for and choosin...
详细信息
One of the difficulties developers encounter in maintaining tasks of a large-scale software system is the updating of suitable libraries on time. Developers tend to miss or make mistakes when searching for and choosing libraries during the development process, or there may not be a stable library for the developers to use. We present a novel approach for helping developers modify software easily and on time and avoid software failures. Using a tool previously built by us called GPES, we collected information of projects, such as abstract syntax trees, tokens, software metrics, relations, and evolutions, for our experiments. We analyzed the contexts of sourcecodes in existing projects to predict changes automatically and to recommend suitable libraries for the projects. The collected data show that researchers can reduce the overall cost of data analysis by transforming the extracted data into the required input formats with a simple query-based implementation. Also, we manually evaluated how the extracted contexts are similar to the description and we found that a sufficient number of the words in the contexts is similar and it might help developers grasp the domain of the sourcecodes easily.
In software development process, software developers may introduce defects as they make changes to software projects. Being aware of introduced defects immediately upon the completion of the change would allow softwar...
详细信息
ISBN:
(纸本)9781479905614
In software development process, software developers may introduce defects as they make changes to software projects. Being aware of introduced defects immediately upon the completion of the change would allow software developers or testers to allocate more resources of testing and inspecting on the current risky change timely, which can shorten the process of defect finding and fixing effectively. In this paper, we propose a software tool called changeChecker to help software developers predict whether current source code change has any defects or not during the software development process. This tool infers the existence of defect by dynamically mining patterns of the source code changes in the revision history of the software project. It mainly consists of three components: (1) incremental feature collection and transformation, (2) real-time defect prediction for source code changes, and (3) dynamic update of the learning model. The tool has been evaluated in a large famous open source project Eclipse and applied to a real software development scenario.
An accurate maintenance effort model is essential for a successful software maintenance process. Maintenance effort is usually measured in person-hours used to perform a maintenance task. However, maintenance effort d...
详细信息
An accurate maintenance effort model is essential for a successful software maintenance process. Maintenance effort is usually measured in person-hours used to perform a maintenance task. However, maintenance effort data are usually only available for strictly managed software, such as closed-source software. In other software projects that do not have complete maintenance records, especially some open-source software, there are no direct data for maintenance effort, which precludes the establishment of a maintenance effort model. In this paper, we report a series of studies aimed at presenting a method for indirectly predicting the maintenance effort of open-source software. This report covers two parts of our research. First, we examine the maintenance data from NASA SEL closed-source software projects and identify some software measures that can be used to indirectly represent maintenance effort. Second, based on the findings in the first part, we analyze 121 recent versions of Linux, and use linear regression to construct two indirect maintenance effort models for the Linux project. Our study demonstrates the applicability of this approach to indirectly predicting the maintenance effort and improving the software maintenance process. Copyright (C) 2006 John Wiley & Sons, Ltd.
暂无评论