您现在的位置: 精品资料网 >> 行业分类 >> 文体教育 >> 资料信息

计算机专业英文资料汇总(doc 32页)

所属分类:
文体教育
文件大小:
228 KB
下载地址:
相关资料:
计算机专业,英文资料
计算机专业英文资料汇总(doc 32页)内容简介
计算机专业英文资料汇总内容提要:
Software Defect Detection with ROCUS
Yuan Jiang (姜远), Member, CCF, Ming Li (黎铭)¤, Member, CCF, ACM, IEEE
and Zhi-Hua Zhou (周志华), Senior Member, CCF, IEEE, Member, ACM
National Key Laboratory for Novel Software Technology, Nanjing University, Nanjing 210093, China
E-mail: fjiangyuan, lim, zhouzhg@nju.edu.cn
Received May 15, 2009; revised October 26, 2010.
Abstract Software defect detection aims to automatically identify defective software modules for e±cient software test
in order to improve the quality of a software system. Although many machine learning methods have been successfully
applied to the task, most of them fail to consider two practical yet important issues in software defect detection. First,
it is rather di±cult to collect a large amount of labeled training data for learning a well-performing model; second, in a
software system there are usually much fewer defective modules than defect-free modules, so learning would have to be
conducted over an imbalanced data set. In this paper, we address these two practical issues simultaneously by proposing a
novel semi-supervised learning approach named Rocus. This method exploits the abundant unlabeled examples to improve
the detection accuracy, as well as employs under-sampling to tackle the class-imbalance problem in the learning process.
Experimental results of real-world software defect detection tasks show that Rocus is e®ective for software defect detection.
Its performance is better than a semi-supervised learning method that ignores the class-imbalance nature of the task and a
class-imbalance learning method that does not make e®ective use of unlabeled data.
Keywords machine learning, data mining, semi-supervised learning, class-imbalance, software defect detection
1 Introduction
Enabled by technological advances in computer
hardware, software systems have become increasingly
powerful and versatile. However, the attendant increase
in software complexity has made the timely develop-
ment of reliable software systems extremely challenging.
To make software systems reliable, it is very important
to identify as many defects as possible before releas-
ing the software. However, due to the complexity of
the software systems and the tight project schedule, it
is almost impossible to extensively test every path of
the software under all possible runtime environment.
Thus, accurately predicting whether a software module
contains defects can help to allocate the limited test
resources e®ectively, and hence, improve the quality of
software systems. Such a process is usually referred to
as software defect detection, which has already drawn
much attention in software engineering community.
…………
..............................