A novel kernel learning method for object-oriented (00) software fault prediction is proposed in this paper. With this method, each set of classes that has inheritance relation named class hierarchy, is treated as a...A novel kernel learning method for object-oriented (00) software fault prediction is proposed in this paper. With this method, each set of classes that has inheritance relation named class hierarchy, is treated as an elemental software model. A layered kernel is introduced to handle the tree data structure corresponding to the class hierarchy models. This method was vali- dated using both an artificial dataset and a case of industrial software from the optical communication field. Preliminary experi- ments showed that our approach is very effective in learning structured data and outperforms the traditional support vector learning methods in accurately and correctly predicting the fault-prone class hierarchy model in real-life OO software.展开更多
While sensor networks have been used in various applications because of the automatic sensing capability and ad-hoc organization of sensor nodes, the fault-prone characteristic of sensor networks has challenged the ev...While sensor networks have been used in various applications because of the automatic sensing capability and ad-hoc organization of sensor nodes, the fault-prone characteristic of sensor networks has challenged the event detection and the anomaly detection which, to some extent, have neglected the importance of discriminating events and errors. Considering data uncertainty, in this article, we present the problem of data discrimination in fault-prone sensor networks, analyze the similarities and the differences between events and errors, and design a multi-level systematic discrimination framework. In each step, the framework filters erroneous data from the raw data and marks potential event samples for the next-step processing. The raw data set D is finally partitioned into three subsets, Devent, Derror and Dordinary. Both the scenario-based simulations and the experiments on real-sensed data are carried out. The statistical results of various discrimination metrics demonstrate high distinction ratio as well as the robustness in different cases of the network.展开更多
软件缺陷预测在提高软件质量、控制和平衡软件成本方面起着举足轻重的作用,是软件工程的活跃领域.研究者提出了许多预测技术,从不同层面解决了不同的问题,但目前仍有些问题尚待研究:软件缺陷数据分布不均衡、误分代价差异、跨项目软件...软件缺陷预测在提高软件质量、控制和平衡软件成本方面起着举足轻重的作用,是软件工程的活跃领域.研究者提出了许多预测技术,从不同层面解决了不同的问题,但目前仍有些问题尚待研究:软件缺陷数据分布不均衡、误分代价差异、跨项目软件缺陷经验知识共享困难等.为了解决上述问题,提出一种基于迁移学习的软件缺陷预测经验共享方法,该方法在著名的迁移学习算法Tr Ada Boost基础上增加误分代价来提高有错误倾向模块的识别率,对目标软件项目数据和辅助软件项目数据采用不同的权重更新策略以区分它们对于目标软件缺陷预测的不同影响.通过对美国国家航天局软件工程项目NASA的JM1和KC2数据进行仿真实验,证明该方法在预测性能方面优于同类方法,具有预测效果良好和稳定性强的特点.实验结果表明在相近的软件开发环境下,软件开发团队之间可以有效地分享和继承丰富的软件缺陷经验,有效地提高软件产品的质量.展开更多
Software is an important part of automotive product development, and it is commonly known that software quality assurance consumes considerable effort in safety-critical embedded software development. Increasing the e...Software is an important part of automotive product development, and it is commonly known that software quality assurance consumes considerable effort in safety-critical embedded software development. Increasing the effectiveness and efficiency of this effort thus becomes more and more important. Identifying problematic code areas which are most likely to fail and therefore require most of the quality assurance attention is required. This article presents an exploratory study investigating whether the faults detected by static analysis tools combined with code complexity metrics can be used as software quality indicators and to build pre-release fault prediction models. The combination of code complexity metrics with static analysis fault density was used to predict the pre-release fault density with an accuracy of 78.3%. This combination was also used to separate high and low quality components with a classification accuracy of 79%.展开更多
Network measures are useful for predicting fault-prone modules. However, existing work has not distinguished faults according to their severity. In practice, high severity faults cause serious problems and require fur...Network measures are useful for predicting fault-prone modules. However, existing work has not distinguished faults according to their severity. In practice, high severity faults cause serious problems and require further attention. In this study, we explored the utility of network measures in high severity faultproneness prediction. We constructed software source code networks for four open-source projects by extracting the dependencies between modules. We then used univariate logistic regression to investigate the associations between each network measure and fault-proneness at a high severity level. We built multivariate prediction models to examine their explanatory ability for fault-proneness, as well as evaluated their predictive effectiveness compared to code metrics under forward-release and cross-project predictions. The results revealed the following:(1) most network measures are significantly related to high severity fault-proneness;(2) network measures generally have comparable explanatory abilities and predictive powers to those of code metrics; and(3) network measures are very unstable for cross-project predictions. These results indicate that network measures are of practical value in high severity fault-proneness prediction.展开更多
文摘A novel kernel learning method for object-oriented (00) software fault prediction is proposed in this paper. With this method, each set of classes that has inheritance relation named class hierarchy, is treated as an elemental software model. A layered kernel is introduced to handle the tree data structure corresponding to the class hierarchy models. This method was vali- dated using both an artificial dataset and a case of industrial software from the optical communication field. Preliminary experi- ments showed that our approach is very effective in learning structured data and outperforms the traditional support vector learning methods in accurately and correctly predicting the fault-prone class hierarchy model in real-life OO software.
文摘While sensor networks have been used in various applications because of the automatic sensing capability and ad-hoc organization of sensor nodes, the fault-prone characteristic of sensor networks has challenged the event detection and the anomaly detection which, to some extent, have neglected the importance of discriminating events and errors. Considering data uncertainty, in this article, we present the problem of data discrimination in fault-prone sensor networks, analyze the similarities and the differences between events and errors, and design a multi-level systematic discrimination framework. In each step, the framework filters erroneous data from the raw data and marks potential event samples for the next-step processing. The raw data set D is finally partitioned into three subsets, Devent, Derror and Dordinary. Both the scenario-based simulations and the experiments on real-sensed data are carried out. The statistical results of various discrimination metrics demonstrate high distinction ratio as well as the robustness in different cases of the network.
文摘软件缺陷预测在提高软件质量、控制和平衡软件成本方面起着举足轻重的作用,是软件工程的活跃领域.研究者提出了许多预测技术,从不同层面解决了不同的问题,但目前仍有些问题尚待研究:软件缺陷数据分布不均衡、误分代价差异、跨项目软件缺陷经验知识共享困难等.为了解决上述问题,提出一种基于迁移学习的软件缺陷预测经验共享方法,该方法在著名的迁移学习算法Tr Ada Boost基础上增加误分代价来提高有错误倾向模块的识别率,对目标软件项目数据和辅助软件项目数据采用不同的权重更新策略以区分它们对于目标软件缺陷预测的不同影响.通过对美国国家航天局软件工程项目NASA的JM1和KC2数据进行仿真实验,证明该方法在预测性能方面优于同类方法,具有预测效果良好和稳定性强的特点.实验结果表明在相近的软件开发环境下,软件开发团队之间可以有效地分享和继承丰富的软件缺陷经验,有效地提高软件产品的质量.
文摘Software is an important part of automotive product development, and it is commonly known that software quality assurance consumes considerable effort in safety-critical embedded software development. Increasing the effectiveness and efficiency of this effort thus becomes more and more important. Identifying problematic code areas which are most likely to fail and therefore require most of the quality assurance attention is required. This article presents an exploratory study investigating whether the faults detected by static analysis tools combined with code complexity metrics can be used as software quality indicators and to build pre-release fault prediction models. The combination of code complexity metrics with static analysis fault density was used to predict the pre-release fault density with an accuracy of 78.3%. This combination was also used to separate high and low quality components with a classification accuracy of 79%.
基金supported by National Natural Science Foundation of China (Grant Nos. 61472175, 61472178, 61272082, 61272080, 91418202)Natural Science Foundation of Jiangsu Province (Grant No. BK20130014)Natural Science Foundation of Colleges in Jiangsu Province (Grant No. 13KJB520018)
文摘Network measures are useful for predicting fault-prone modules. However, existing work has not distinguished faults according to their severity. In practice, high severity faults cause serious problems and require further attention. In this study, we explored the utility of network measures in high severity faultproneness prediction. We constructed software source code networks for four open-source projects by extracting the dependencies between modules. We then used univariate logistic regression to investigate the associations between each network measure and fault-proneness at a high severity level. We built multivariate prediction models to examine their explanatory ability for fault-proneness, as well as evaluated their predictive effectiveness compared to code metrics under forward-release and cross-project predictions. The results revealed the following:(1) most network measures are significantly related to high severity fault-proneness;(2) network measures generally have comparable explanatory abilities and predictive powers to those of code metrics; and(3) network measures are very unstable for cross-project predictions. These results indicate that network measures are of practical value in high severity fault-proneness prediction.