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...

Full description

Saved in:
Bibliographic Details
Published inInternational Conference on Software Engineering 2009 Vol. 2009; no. 2
Main Authors Hangal, Sudheendra, Lam, Monica S
Format Journal Article
LanguageEnglish
Published 24.05.2009
Online AccessGet full text

Cover

Loading…
More Information
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