Title

An automated approach for finding variable-constant pairing bugs

Publication Type

Conference Proceeding Article

Publication Date

9-2010

Abstract

Named constants are used heavily in operating systems code, both as internal flags and in interactions with devices. Decision making within an operating system thus critically depends on the correct usage of these values. Nevertheless, compilers for the languages typically used in implementing operating systems provide little support for checking the usage of named constants. This affects correctness, when a constant is used in a context where its value is meaningless, and software maintenance, when a constant has the right value for its usage context but the wrong name. We propose a hybrid program-analysis and data-mining based approach to identify the uses of named constants and to identify anomalies in these uses. We have applied our approach to a recent version of the Linux kernel and have found a number of bugs affecting both correctness and software maintenance. Many of these bugs have been validated by the Linux developers.

Discipline

Software Engineering

Research Areas

Software Systems

Publication

IEEE/ACM International Conference on Automated Software Engineering (ASE)

First Page

103

Last Page

112

ISBN

9781450301169

Identifier

10.1145/1858996.1859014

Publisher

ACM

Additional URL

http://dx.doi.org/10.1145/1858996.1859014