{'fraction_non_alphanumeric': 0.030604437643458302, 'fraction_numerical': 0.0, 'mean_word_length': 5.0, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
A Multi-instance Model for Software Quality Estimation in OO Systems

In this paper, a problem of object-oriented (OO) software quality estimation is investigated with a multi-instance (MI) perspective. In detail, each set of classes that have inheritance relation, named ‘class hierarchy’, is regarded as a bag in the training, while each class in the bag is regarded as an instance. The task of the software quality estimation in this study is to predict the label of unseen bags, i.e. the fault-proneness of untested class hierarchies. It is stipulated that a fault-prone class hierarchy contains at least one fault-prone (negative) class, while a not fault-prone (positive) one has no negative class. Based on the modification records (MR) of previous project releases and OO software metrics, the fault-proneness of untested class hierarchy can be predicted. A MI kernel specifically designed for MI data was utilized to build the OO software quality prediction model. This model was evaluated on five datasets collected from an industrial optical communication software project. Among the MI learning algorithms applied in our empirical study, the support vector algorithms combined with dedicated MI kernel led others in accurately and correctly predicting the fault-proneness of the class hierarchy.