Taming Behavioral Backward Incompatibilities via Cross-Project Testing and AnalysisTechnical
In modern software development, software libraries play a crucial role in reducing software development effort and improving software quality. However, at the same time, the asynchronous upgrades of software libraries and client software projects often result in incompatibilities between different versions of libraries and client projects. When libraries evolve, it is often very challenging for library developers to maintain the so-called backward compatibility and keep all their external behavior untouched, and behavioral backward incompatibilities (BBIs) may occur. In practice, the regression test suites of library projects often fail to detect all BBIs. Therefore, in this paper, we propose DeBBI to detect BBIs via cross-project testing and analysis, i.e., using the test suites of various client projects to detect library BBIs. Since executing all the possible client projects can be extremely time consuming, DeBBI transforms the problem of cross-project BBI detection into a traditional information retrieval (IR) problem to execute the client projects with higher probability to detect BBIs earlier. Furthermore, DeBBI considers project diversity and test relevance information for even faster BBI detection. The experimental results show that DeBBI can reduce the end-to-end testing time for detecting the first and average unique BBIs by 99.1% and 70.8% for JDK compared to naive cross-project BBI detection. Also, DeBBI has been applied to other popular 3rd-party libraries, and detected 19 BBI bugs (with 3 already confirmed as previously unknown bugs).
Sat 11 JulDisplayed time zone: (UTC) Coordinated Universal Time change
01:05 - 02:05 | |||
01:05 8mTalk | Studying the Impact of Noises in Build Breakage DataJ1 Journal First Taher A Ghaleb Queen's University, Daniel Alencar Da Costa University of Otago, Ying Zou Queen's University, Kingston, Ontario, Ahmed E. Hassan Queen's University Link to publication DOI Pre-print | ||
01:13 12mTalk | Taming Behavioral Backward Incompatibilities via Cross-Project Testing and AnalysisTechnical Technical Papers Lingchao Chen The University of Texas at Dallas, Foyzul Hassan University of Texas at San Antonio, USA, Xiaoyin Wang University of Texas at San Antonio, USA, Lingming Zhang The University of Texas at Dallas | ||
01:25 12mTalk | Watchman: Monitoring Dependency Conflicts for Python Library EcosystemTechnical Technical Papers Ying Wang Northeastern University, China, Ming Wen Huazhong University of Science and Technology, China, Yepang Liu Southern University of Science and Technology, Yibo Wang Northeastern University, Zhenming Li Northeastern University, Chao Wang University of Southern California, Hai Yu Northeastern University, China, Shing-Chi Cheung Department of Computer Science and Engineering, The Hong Kong University of Science and Technology, Chang Xu Nanjing University, Zhiliang Zhu Northeastern University, China | ||
01:37 12mTalk | How Has Forking Changed in the Last 20 Years? A Study of Hard Forks on GitHubTechnical Technical Papers Shurui Zhou Carnegie Mellon University, USA / University of Toronto, CA, Bogdan Vasilescu Carnegie Mellon University, Christian Kästner Carnegie Mellon University Pre-print |