Increasing diversity: Natural language measures for software fault prediction
نویسندگان
چکیده
While challenging, the ability to predict faulty modules of a program is valuable to a software project because it can reduce the cost of software development, as well as software maintenance and evolution. Three language-processing based measures are introduced and applied to the problem of fault prediction. The first measure is based on the usage of natural language in a program’s identifiers. The second measure concerns the conciseness and consistency of identifiers. The third measure, referred to as the QALP score, makes use of techniques from information retrieval to judge software quality. The QALP score has been shown to correlate with human judgments of software quality. Two case studies consider the language processing measures applicability to fault prediction using two programs (one open source, one proprietary). Linear mixed-effects regression models are used to identify relationships between defects and the measures. Results, while complex, show that language processing measures improve fault prediction, especially when used in combination. Overall, the models explain one-third and two-thirds of the faults in the two case studies. Consistent with other uses of language processing, the value of the three measures increases with the size of the program module considered. 2009 Elsevier Inc. All rights reserved.
منابع مشابه
Evaluation of Classifiers in Software Fault-Proneness Prediction
Reliability of software counts on its fault-prone modules. This means that the less software consists of fault-prone units the more we may trust it. Therefore, if we are able to predict the number of fault-prone modules of software, it will be possible to judge the software reliability. In predicting software fault-prone modules, one of the contributing features is software metric by which one ...
متن کاملAn Empirical Investigation of Predicting Fault Count, Fix Cost and Effort Using Software Metrics
Software fault prediction is important in software engineering field. Fault prediction helps engineers manage their efforts by identifying the most complex parts of the software where errors concentrate. Researchers usually study the faultproneness in modules because most modules have zero faults, and a minority have the most faults in a system. In this study, we present methods and models for ...
متن کاملExperience in Metrics and Measurements for N-version Programming
The N-Version Programming (NVP) approach applies the idea of design diversity to obtain fault-tolerant software units, called N-Version Software (NVS) units. The eeectiveness of this approach is examined by the software diversity achieved in the member versions of an NVS unit. We deene and formalize the concept of design diversity and software diversity in this paper. Design diversity is a prop...
متن کاملExperience in Metrics and Measurements forN
The N-Version Programming (NVP) approach applies the idea of design diversity to obtain fault-tolerant software units, called N-Version Software (NVS) units. The eeectiveness of this approach is examined by the software diversity achieved in the member versions of an NVS unit. We deene and formalize the concept of design diversity and software diversity in this paper. Design diversity is a prop...
متن کاملIn search of effective diversity: a six-language study of fault-tolerant flight control software
Multi-version software systems achieve fault tolerance through somare redundancy and diversity. In order to investigate this approach, this joint UCLAIHoneywell research project investigated multi-version sojhvare systems, employing six different programming languages to create six versions of s o p a r e for an automatic landing program. The rationale, preparation. execution, and evaluation of...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Journal of Systems and Software
دوره 82 شماره
صفحات -
تاریخ انتشار 2009