Team for Research in
Ubiquitous Secure Technology

Automatic Dimension Inference and Checking for Object-Oriented Programs

Citation
"Automatic Dimension Inference and Checking for Object-Oriented Programs". Sudheendra Hangal and Monica S. Lam (eds.), International Conference on Software Engineering, 2009.

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

Electronic downloads

Citation formats  
  • HTML
     <a
    href="http://www.truststc.org/pubs/735.html"
    ><i>Automatic Dimension Inference and Checking for
    Object-Oriented Programs</i></a>, Sudheendra
    Hangal and Monica S. Lam (eds.), International Conference on
    Software  Engineering, 2009.
  • Plain text
     "Automatic Dimension Inference and Checking for
    Object-Oriented Programs". Sudheendra Hangal and Monica
    S. Lam (eds.), International Conference on Software 
    Engineering, 2009.
  • BibTeX
    @proceedings{HangalLam09_AutomaticDimensionInferenceCheckingForObjectOriented,
        title = {Automatic Dimension Inference and Checking for
                  Object-Oriented Programs},
        editor = {Sudheendra Hangal and Monica S. Lam},
        organization = {International Conference on Software  Engineering},
        year = {2009},
        abstract = {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.},
        URL = {http://www.truststc.org/pubs/735.html}
    }
    

Posted by Jessica Gamble on 3 May 2010.
For additional information, see the Publications FAQ or contact webmaster at www truststc org.

Notice: This material is presented to ensure timely dissemination of scholarly and technical work. Copyright and all rights therein are retained by authors or by other copyright holders. All persons copying this information are expected to adhere to the terms and constraints invoked by each author's copyright.