An automated approach for finding variable-constant pairing bugs

Julia Lawall, David Lo

4 Citations (Scopus)

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.
Original languageEnglish
Title of host publicationASE'10 : Proceedings of the IEEE/ACM International conference on Automated Software Engineering
Number of pages10
PublisherAssociation for Computing Machinery
Publication date2010
Pages103-112
ISBN (Print)978-1-4503-0116-9
DOIs
Publication statusPublished - 2010
Event25th IEEE/ACM International Conference on Automated Software Engineering - Antwerp, Belgium
Duration: 20 Sept 201024 Sept 2010
Conference number: 25

Conference

Conference25th IEEE/ACM International Conference on Automated Software Engineering
Number25
Country/TerritoryBelgium
CityAntwerp
Period20/09/201024/09/2010

Cite this