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

Copyright Owner and License

Publisher

Additional URL

https://doi.org/10.1145/1858996.1859014

Share

COinS