• DocumentCode
    2074077
  • Title

    Online inference and enforcement of temporal properties

  • Author

    Gabel, Mark ; Su, Zhendong

  • Author_Institution
    Dept. of Comput. Sci., Univ. of California at Davis, Davis, CA, USA
  • Volume
    1
  • fYear
    2010
  • fDate
    2-8 May 2010
  • Firstpage
    15
  • Lastpage
    24
  • Abstract
    The interfaces of software components are often paired with specifications or protocols that prescribe correct and safe usage. An important class of these specifications consists of temporal safety properties over function or method call sequences. Because violations of these properties can lead to program crashes or subtly inconsistent program state, these properties are frequently the target of runtime monitoring techniques. However, the properties must be specified in advance, a time-consuming process. Recognizing this problem, researchers have proposed various specification inference techniques, but they suffer from imprecision and require a significant investment in developer time. This work presents the first fully automatic dynamic technique for simultaneously learning and enforcing general temporal properties over method call sequences. Our technique is an online algorithm that operates over a short, finite execution history. This limited view works well in practice due to the inherent temporal locality in sequential method calls on Java objects, a property we validate empirically. We have implemented our algorithm in a practical tool for Java, OCD, that operates with a high degree of precision and finds new defects and code smells in well-tested applications.
  • Keywords
    Java; formal specification; Java objects; automatic dynamic technique; online enforcement; online inference; software components; specification inference techniques; temporal properties; Automata; Benchmark testing; Concrete; Heuristic algorithms; Java; Software; Software algorithms; dynamic analysis; online algorithm; temporal properties;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Engineering, 2010 ACM/IEEE 32nd International Conference on
  • Conference_Location
    Cape Town
  • ISSN
    0270-5257
  • Print_ISBN
    978-1-60558-719-6
  • Type

    conf

  • DOI
    10.1145/1806799.1806806
  • Filename
    6062069