eprintid: 4619 rev_number: 7 eprint_status: archive userid: 288 dir: disk0/00/00/46/19 datestamp: 2021-10-15 02:48:25 lastmod: 2021-10-15 02:48:25 status_changed: 2021-10-15 02:48:25 type: article metadata_visibility: show creators_name: Nguyen, Thu Trang creators_name: Ngo, Kien Tuan creators_name: Nguyen, Van Son creators_name: Vo, Dinh Hieu creators_id: trang.nguyen@vnu.edu.vn creators_id: sonnguyen@vnu.edu.vn creators_id: hieuvd@vnu.edu.vn title: A Variability Fault Localization Approach for Software Product Lines ispublished: pub subjects: IT subjects: Scopus subjects: isi divisions: fac_fit abstract: Software fault localization is one of the most expensive, tedious, and time-consuming activities in program debugging. This activity becomes even much more challenging in Software Product Line (SPL) systems due to variability of failures. These unexpected behaviors are induced by variability faults which can only be exposed under some combinations of system features. The interaction among these features causes the failures of the system. Although localizing bugs in single-system engineering has been studied in-depth, variability fault localization in SPL systems still remains mostly unexplored. In this article, we present VarCop, a novel and effective variability fault localization approach. For an SPL system failed by variability bugs, VarCop isolates suspicious code statements by analyzing the overall test results of the sampled products and their source code. The isolated suspicious statements are the statements related to the interaction among the features which are necessary for the visibility of the bugs in the system. In VarCop, the suspiciousness of each isolated statement is assessed based on both the overall test results of the products containing the statement as well as the detailed results of the test cases executed by the statement in these products. On a large public dataset of buggy SPL systems, our empirical evaluation shows that VarCop significantly improves two state-of-the-art fault localization techniques by 33% and 50% in ranking the incorrect statements in the systems containing a single bug each. In about two-thirds of the cases, VarCop correctly ranks the buggy statements at the top-3 positions in the resulting lists. Moreover, for the cases containing multiple bugs, VarCop outperforms the state-of-the-art approaches 2 times and 10 times in the proportion of bugs localized at the top-1 positions. Especially, in 22% and 65% of the buggy versions, VarCop correctly ranks at least one bug in a system at the top-1 and top-5 positions. official_url: https://ieeexplore.ieee.org/document/9541004 id_number: 10.1109/TSE.2021.3113859 full_text_status: none publication: IEEE Transactions on Software Engineering refereed: TRUE citation: Nguyen, Thu Trang and Ngo, Kien Tuan and Nguyen, Van Son and Vo, Dinh Hieu A Variability Fault Localization Approach for Software Product Lines. IEEE Transactions on Software Engineering .