Detection of Java Basic Thread Misuses Based on Static Event Analysis
The fundamental asynchronous thread (java.lang.Thread) in Java can be easily misused, due to the lack of deep understanding for garbage collection and thread interruption mechanism. For example, a careless implementation of asynchronous thread may cause no response to the interrupt mechanism in time, resulting in unexpected thread-related behaviors, especially resource leak/waste. Currently, few works aim at these misuses and related works adopt either the dynamic approach which lacks effective inputs or the static path-sensitive approach with high time consumption due to the path explosion, causing false negatives. We have found that the behavior of threads and the interaction between threads and its referencing objects can be abstracted. In this paper, we propose an event analysis approach to detect the defects in Java programs and Android apps, which focuses on the existence or the order of the events to reduce the false negatives. We extract the misuse-related events, containing the thread events and the destroy events of the object referenced by the thread. Then we analyze the events with loop identification, happens-before relationship construction and alias determination. Finally, we implement an automatic tool named Leopard and evaluate it on real world Java programs and Android apps. Experiments show that it is efficient when comparing with the existing approach (misuse: 723 vs 47, time: 60s vs 30min), which also outperforms the existing work in precision. The manual check indicates that Leopard is more efficient and effective than existing work. Besides, 66 issues reported by us have been confirmed and 21 of them have been fixed by developers.
Wed 13 SepDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
15:30 - 17:00 | Bug DetectionResearch Papers / Journal-first Papers at Room D Chair(s): Andreea Vescan Babes-Bolyai University | ||
15:30 12mTalk | A Comparative Study of Transformer-based Neural Text Representation Techniques on Bug Triaging Research Papers File Attached | ||
15:42 12mTalk | Duplicate Bug Report Detection: How Far Are We? Journal-first Papers Ting Zhang Singapore Management University, DongGyun Han Royal Holloway, University of London, Venkatesh Vinayakarao Chennai Mathematical Institute, Ivana Clairine Irsan Singapore Management University, Bowen Xu North Carolina State University, Ferdian Thung Singapore Management University, David Lo Singapore Management University, Lingxiao Jiang Singapore Management University Link to publication DOI File Attached | ||
15:54 12mTalk | Neural SZZ Algorithm Research Papers LingXiao Tang zhejiang university, Lingfeng Bao Zhejiang University, Xin Xia Huawei Technologies, Zhongdong Huang Zhejiang University Pre-print | ||
16:06 12mTalk | How to Train Your Neural Bug Detector: Artificial vs Real Bugs Research Papers Cedric Richter Carl von Ossietzky Universität Oldenburg / University of Oldenburg, Heike Wehrheim Carl von Ossietzky Universität Oldenburg / University of Oldenburg Pre-print File Attached | ||
16:18 12mTalk | Detection of Java Basic Thread Misuses Based on Static Event Analysis Research Papers Baoquan Cui Institute of Software at Chinese Academy of Sciences, China, MiaoMiao Wang Technology Center of Software Engineering, ISCAS, China. University of Chinese Academy of Sciences, China., Chi Zhang State Key Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences, Beijing, China, Jiwei Yan Institute of Software at Chinese Academy of Sciences, China, Jun Yan Institute of Software at Chinese Academy of Sciences; University of Chinese Academy of Sciences, Jian Zhang Institute of Software at Chinese Academy of Sciences; University of Chinese Academy of Sciences File Attached | ||
16:30 12mFull-paper | On effort-aware metrics for defect prediction Journal-first Papers Jonida Çarka University of Rome Tor Vergata, Matteo Esposito University of Rome Tor Vergata, Falessi Davide University of Rome Tor Vergata DOI File Attached | ||
16:42 12mTalk | FLUX: Finding Bugs with LLVM IR Based Unit Test Crossovers Research Papers Eric Liu University of Toronto, Shengjie Xu University of Toronto, David Lie University of Toronto, Canada Pre-print File Attached |