Detecting Inconsistencies in If-Condition-Raise Statements
Developers use exceptions guarded by conditions to abort the execution when a program reaches an unexpected state. However, sometimes the condition and the raised exception do not imply the same stopping reason, in which case, we call them inconsistent if-condition-raise statements. The inconsistency can originate from a mistake in the condition or the message of the exception. This paper presents IICR-Finder, a deep learning-based approach to detect inconsistent if-condition-raise statements. The approach reasons both about the logic of the condition and the natural language of the exception message and raises a warning in case of an inconsistency. We present six techniques to automatically generate large numbers of inconsistent statements for training. Moreover, we implement two neural models, based on binary classification and triplet loss, to learn inconsistency detection. We apply the approach to 210K if-condition-raise statements extracted from 42 million lines of Python code. It achieves a precision of 72% at a recall of 60% on a dataset of past bug fixes. Running IICR-Finder on open-source projects reveals 30 previously unknown bugs, ten of which we reported, with eight confirmed by the developers.
Tue 11 OctDisplayed time zone: Eastern Time (US & Canada) change
15:30 - 16:00 | |||
15:30 30mPoster | ASTOR: An Approach to Identify Security Code Reviews Student Research Competition Rajshakhar Paul Wayne State University | ||
15:30 30mPoster | ‘Who built this crap?’ Developing a Software Engineering Domain Specific Toxicity Detector Student Research Competition Jaydeb Sarker Department of Computer Science, Wayne State University Pre-print | ||
15:30 30mPoster | Automatically Fixing Breaking Changes of Data Science Libraries Student Research Competition Hailie Mitchell Carnegie Mellon University | ||
15:30 30mPoster | Execution Path Detection through Dynamic Analysis in Black-Box Testing Environments Student Research Competition Frank Whitworth Wake Forest University | ||
15:30 30mPoster | Automatic Software Timing Attack Evaluation & Mitigation on Clear Hardware Assumption Student Research Competition Prabuddha Chakraborty University of Florida | ||
15:30 30mPoster | Automatically Tagging the “AAA" Pattern in Unit Test Cases Using Machine Learning Models Student Research Competition Chenhao Wei Stevens Institute of Technology, Lu Xiao Stevens Institute of Technology, Tingting Yu University of Cincinnati, Xinyu Chen HSBC Software Development (Guangdong) Limited, Xiao Wang Stevens Institute of Technology, Sunny Wong Envestnet, Abigail Clune AGI | ||
15:30 30mPoster | A Unified Specification Mining Framework for Smart Contracts Student Research Competition Ye Liu Nanyang Technological University | ||
15:30 30mPoster | Identifying Sexism and Misogyny in Pull Request Comments Student Research Competition Sayma Sultana Wayne State University | ||
15:30 30mPoster | Detecting Inconsistencies in If-Condition-Raise Statements Student Research Competition Islem BOUZENIA Software Lab, University of Stuttgart | ||
15:30 30mPoster | Software Evolution Management with Differential Facts Student Research Competition Xiuheng Wu Nanyang Technological University, Singapore | ||
15:30 30mPoster | RESTCluster: Automated Crash Clustering for RESTful API Student Research Competition Yi Liu Nanyang Technological University |