Abstract
Static code checkers have been useful for finding bugs in large-scale C code. Domain-specific checkers are particularly effective in finding deep/subtle bugs because they can make use of domain-specific knowledge. To develop domain-specific checkers, however, typical bug patterns in certain domains must first be extracted. This paper explores the use of machine learning to help extract bug patterns from bug repositories. We used natural language processing to analyze over 370,000 bug descriptions of Linux and classified them into 66 clusters. Our preliminary work with this approach is encouraging: by investigating one of the 66 clusters, we were able to identify typical bug patterns in PCI device drivers and developed static code checkers to find them. When applied to the latest version of Linux, the developed checkers found two unknown bugs.
Original language | English |
---|---|
Publication status | Published - 2014 |
Event | 10th Workshop on Hot Topics in System Dependability, HotDep 2014 - Broomfield, United States Duration: 2014 Oct 5 → … |
Conference
Conference | 10th Workshop on Hot Topics in System Dependability, HotDep 2014 |
---|---|
Country/Territory | United States |
City | Broomfield |
Period | 14/10/5 → … |
ASJC Scopus subject areas
- Hardware and Architecture
- Information Systems
- Control and Systems Engineering