JLeaks: A Featured Resource Leak Repository Collected From Hundreds of Open-Source Java Projects
High-quality defect repositories are vital in defect detection, localization, and repair. However, existing repositories collected from open-source projects are either small-scale or inadequately labeled and packed. This paper systematically summarizes the programming APIs of system resources (i.e., file, socket, and thread) in Java. It demonstrates the exceptions that may cause resource leaks in the chained and nested streaming operations. A semi-automatic toolchain is built to improve the efficiency of defect extraction, including automatic building for large legacy Java projects. Accordingly, 1,094 resource leaks were collected from 321 open-source projects on GitHub. This repository, named JLeaks, was built by reviewing approximately 3,185 commits from hundreds of projects and round-by-round filtering and cross-validation. JLeaks is currently the largest resource leak repository, and each defect in JLeaks is well-labeled and packed, including causes, locations, patches, source files, and compiled bytecode files for 254 defects. We have conducted a detailed analysis of JLeaks for defect distribution, root causes, and fix approaches. We compare JLeaks with two well-known resource leak repositories, and the results show that JLeaks is more informative and complete, with high availability, uniqueness, and consistency. Additionally, we show the usability of JLeaks in two application scenarios. Future studies can leverage our repository to encourage better design and implementation of defect-related algorithms and tools.
Fri 19 AprDisplayed time zone: Lisbon change
11:00 - 12:30 | Testing: various bug types 2Research Track / Software Engineering in Practice at Fernando Pessoa Chair(s): João F. Ferreira INESC-ID and IST, University of Lisbon | ||
11:00 15mTalk | Towards Finding Accounting Errors in Smart Contracts Research Track Brian Zhang Purdue University | ||
11:15 15mTalk | MultiTest: Physical-Aware Object Insertion for Testing Multi-sensor Fusion Perception Systems Research Track Xinyu Gao , Zhijie Wang University of Alberta, Yang Feng Nanjing University, Lei Ma The University of Tokyo & University of Alberta, Zhenyu Chen Nanjing University, Baowen Xu Nanjing University Pre-print | ||
11:30 15mTalk | JLeaks: A Featured Resource Leak Repository Collected From Hundreds of Open-Source Java Projects Research Track Tianyang Liu Beijing Institute of Technology, Weixing Ji Beijing Institute of Technology, Xiaohui Dong Beijing Institute of Technology, Wuhuang Yao Beijing Institute of Technology, Yizhuo Wang Beijing Institute of Technology, Hui Liu Beijing Institute of Technology, Haiyang Peng Beijing Institute of Technology, Yuxuan Wang Beijing Institute of Technology | ||
11:45 15mTalk | S3C: Spatial Semantic Scene Coverage for Autonomous Vehicles Research Track Trey Woodlief University of Virginia, Felipe Toledo , Sebastian Elbaum University of Virginia, Matthew B Dwyer University of Virginia Pre-print | ||
12:00 15mTalk | FlashSyn: Flash Loan Attack Synthesis via Counter Example Driven Approximation Research Track Zhiyang Chen University of Toronto, Sidi Mohamed Beillahi University of Toronto, Fan Long University of Toronto Pre-print | ||
12:15 15mTalk | Hawkeye: Change-targeted Testing for Android Apps based on Deep Reinforcement Learning Software Engineering in Practice Chao Peng ByteDance, China, Zhengwei Lv ByteDance, Jiarong Fu ByteDance, Jiayuan Liang ByteDance, Zhao Zhang Bytedance Network Technology, Ajitha Rajan University of Edinburgh, Ping Yang Bytedance Network Technology |