4.6 Article

Mining Similar Methods for Test Adaptation

期刊

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
卷 48, 期 7, 页码 2262-2276

出版社

IEEE COMPUTER SOC
DOI: 10.1109/TSE.2021.3057163

关键词

Libraries; Testing; Tools; Software development management; Python; Documentation; Open source software; Test suites; mining; software testing; function similarity

资金

  1. Department of Science and Technology (DST) (India)
  2. Science and Engineering Research Board (SERB)
  3. Confederation of Indian Industry (CII)
  4. Microsoft Research
  5. Infosys Center for AI at IIIT-Delhi

向作者/读者索取更多资源

Developers may choose to implement different libraries based on various factors, and the study finds that there may be overlapping functionalities among different libraries, while mining test suites can help uncover defects in programs.
Developers may choose to implement a library despite the existence of similar libraries, considering factors such as computational performance, language or platform dependency, accuracy, convenience, and completeness of an API. As a result, GitHub hosts several library projects that have overlaps in their functionalities. These overlaps have been of interest to developers from the perspective of code reuse or the preference of one implementation over the other. Through an empirical study, we explore the extent and nature of existence of these similarities in the library functions. We have further studied whether the similarity of functions across different libraries and their associated test suites can be leveraged to reveal defects in one another. We see scope for effectively using the mining of test suites from the perspective of revealing defects in a program or its documentation. Another noteworthy observation made in the study is that similar functions may exist across libraries implemented in the same language as well as in different languages. Identifying the challenges that lie in building a testing tool, we automate the entire process in Metallicus, a test mining and recommendation tool. Metallicus returns a test suite for the given input of a query function and a template for its test suite. On a dataset of query functions taken from libraries implemented in Java or Python, Metallicus revealed 46 defects.

作者

我是这篇论文的作者
点击您的名字以认领此论文并将其添加到您的个人资料中。

评论

主要评分

4.6
评分不足

次要评分

新颖性
-
重要性
-
科学严谨性
-
评价这篇论文

推荐

暂无数据
暂无数据