Automatic dimension inference and checking for object-oriented programs
This paper introduces UniFi, a tool that attempts to automatically detect dimension errors in Java programs. UniFi infers dimensional relationships across primitive type and string variables in a program, using an inter-procedural, context-sensitive analysis. It then monitors these dimensional relat...
Saved in:
Published in | International Conference on Software Engineering 2009 Vol. 2009; no. 2 |
---|---|
Main Authors | , |
Format | Journal Article |
Language | English |
Published |
24.05.2009
|
Online Access | Get full text |
Cover
Loading…
Summary: | This paper introduces UniFi, a tool that attempts to automatically detect dimension errors in Java programs. UniFi infers dimensional relationships across primitive type and string variables in a program, using an inter-procedural, context-sensitive analysis. It then monitors these dimensional relationships as the program evolves, flagging inconsistencies that may be errors. UniFi requires no programmer annotations, and supports arbitrary program-specific dimensions, thus providing fine-grained dimensional consistency checking. UniFi exploits features of object-oriented languages, but can be used for other languages as well. We have run UniFi on real-life Java code and found that it is useful in exposing dimension errors. We present a case study of using UniFi on nightly builds of a 19,000 line code base as it evolved over 10 months. |
---|---|
Bibliography: | SourceType-Scholarly Journals-2 ObjectType-Conference Paper-1 content type line 23 SourceType-Conference Papers & Proceedings-1 ObjectType-Feature-2 ObjectType-Article-3 |
ISBN: | 9781424434534 142443453X |
ISSN: | 0270-5257 |
DOI: | 10.1145/1146238.1146268 |