Download PDF

The Journal of Systems and Software

Publication date: 2015-01-01
Volume: 100 Pages: 80 - 90
Publisher: Elsevier Inc.

Author:

Moeyersoms, J
Junque de Fortuny, E ; Dejaeger, Karel ; Baesens, Bart ; Martens, David

Keywords:

Rule extraction, Software fault and effort prediction, Comprehensibility, Data mining, Science & Technology, Technology, Computer Science, Software Engineering, Computer Science, Theory & Methods, Computer Science, STATIC CODE ATTRIBUTES, NEURAL-NETWORK MODEL, RULE EXTRACTION, QUALITY, 0803 Computer Software, 0804 Data Format, 0806 Information Systems, Software Engineering, 46 Information and computing sciences

Abstract:

Software fault and effort prediction are important tasks to minimize costs of a software project. In software effort prediction the aim is to forecast the effort needed to complete a software project, whereas software fault prediction tries to identify fault-prone modules. In this research both tasks are considered, thereby using different data mining techniques. The predictive models not only need to be accurate but also comprehensible, demanding that the user can understand the motivation behind the model's prediction. Unfortunately, to obtain predictive performance, comprehensibility is often sacrificed and vice versa. To overcome this problem, we extract trees from well performing Random Forests (RFs) and Support Vector Machines for regression (SVRs) making use of a rule extraction algorithm ALPA. This method builds trees (using C4.5 and REPTree) that mimic the black-box model (RF, SVR) as closely as possible. The proposed methodology is applied to publicly available datasets, complemented with new datasets that we have put together based on the Android repository. Surprisingly, the trees extracted from the blackbox models by ALPA are not only comprehensible and explain how the blackbox model makes (most of) its predictions, but are also more accurate than the trees obtained by working directly on the data.