Publication Type
Conference Proceeding Article
Version
publishedVersion
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.
Keywords
Variable-Constant Pairing Bugs, Anomaly Detection, Clustering, Linux
Discipline
Software Engineering
Research Areas
Software and Cyber-Physical Systems
Publication
ASE '10: Proceedings of the 25th IEEE/ACM International Conference on Automated Software Engineering: Antwerp, Belgium, September 20-24
First Page
103
Last Page
112
ISBN
9781450301169
Identifier
10.1145/1858996.1859014
Publisher
ACM
City or Country
New York
Citation
LAWALL, Julia and LO, David.
An automated approach for finding variable-constant pairing bugs. (2010). ASE '10: Proceedings of the 25th IEEE/ACM International Conference on Automated Software Engineering: Antwerp, Belgium, September 20-24. 103-112.
Available at: https://ink.library.smu.edu.sg/sis_research/1347
Copyright Owner and License
Publisher
Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International License.
Additional URL
https://doi.org/10.1145/1858996.1859014