Large-Scale Analysis of Non-Termination Bugs in Real-World OSS Projects
Termination is a crucial program property. Non-termination bugs can be subtle to detect and may remain hidden for long before they take effect. Many real-world programs still suffer from vast consequences (e.g., no response) caused by non-termination bugs. As a classic problem, termination proving has been studied for many years. Many termination checking tools and techniques have been developed and demonstrated effectiveness on existing well-established benchmarks. However, the capability of these tools in finding practical non-termination bugs has yet to be tested on real-world projects. To fill in this gap, in this paper, we conducted the first large-scale empirical study of non-termination bugs in real-world OSS projects. Specifically, we first devoted substantial manual efforts in collecting and analyzing 445 non-termination bugs from 3,142 GitHub commits and provided a systematic classifi-cation of the bugs based on their root causes. We constructed a new benchmark set characterizing the real-world bugs with simplified programs, including a non-termination dataset with 56 real and reproducible non-termination bugs and a termination dataset with 58 fixed programs. With the constructed benchmark, we evaluated five state-of-the-art termination analysis tools. The results show that the capabilities of the tested tools to make correct verdicts have obviously dropped compared with the existing benchmarks. Meanwhile, we identified the challenges and limitations that these tools face by analyzing the root causes of their unhandled bugs. Fi-nally, we summarized the challenges and future research directions for detecting non-termination bugs in real-world projects.
Mon 14 NovDisplayed time zone: Beijing, Chongqing, Hong Kong, Urumqi change
16:00 - 17:30 | Program Analysis IResearch Papers / Industry Paper at SRC LT 50 Chair(s): Marcel Böhme MPI-SP, Germany and Monash University, Australia | ||
16:00 15mTalk | Input Splitting for Cloud-Based Static Application Security Testing Platforms Industry Paper Maria Christakis MPI-SWS, Thomas Cottenier Amazon Web Services, Antonio Filieri AWS and Imperial College London, Linghui Luo Amazon Web Services, Muhammad Numair Mansur MPI-SWS, Lee Pike Amazon Web Services, Nico Rosner Amazon Web Services, Martin Schäf Amazon Web Services, Aritra Sengupta Amazon Web Services, Willem Visser Amazon Web Services DOI Media Attached | ||
16:15 15mTalk | Static Executes-Before Analysis for Event Driven Programs Research Papers Rekha Pai IISc Bangalore, Abhishek Uppar IISc Bangalore, Akshatha Shenoy TCS Research, Pranshul Kushwaha IISc Bangalore, Deepak D'Souza IISc Bangalore DOI | ||
16:30 15mTalk | Security Code Smells in Apps: Are We Getting Better? Research Papers Steven Arzt Fraunhofer SIT; ATHENE DOI | ||
16:45 15mTalk | Large-Scale Analysis of Non-Termination Bugs in Real-World OSS Projects Research Papers Xiuhan Shi Tianjin University, Xiaofei Xie Singapore Management University, Yi Li Nanyang Technological University, Yao Zhang Tianjin University, Sen Chen Tianjin University, Xiaohong Li Tianjin University DOI | ||
17:00 15mTalk | On-the-Fly Syntax Highlighting using Neural Networks Research Papers Marco Edoardo Palma University of Zurich, Pasquale Salza University of Zurich, Harald Gall University of Zurich DOI Pre-print | ||
17:15 15mTalk | Declarative Smart Contracts Research Papers Haoxian Chen University of Pennsylvania, Gerald Whitters University of Pennsylvania, Mohammad Javad Amiri University of Pennsylvania, Yuepeng Wang Simon Fraser University, Boon Thau Loo University of Pennsylvania DOI |