Enabledness-based program abstractions for behavior validation

  • Authors:
  • Guido De Caso;Victor Braberman;Diego Garbervetsky;Sebastian Uchitel

  • Affiliations:
  • Universidad de Buenos Aires;Universidad de Buenos Aires;Universidad de Buenos Aires;Universidad de Buenos Aires and Imperial College

  • Venue:
  • ACM Transactions on Software Engineering and Methodology (TOSEM) - In memoriam, fault detection and localization, formal methods, modeling and design
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Code artifacts that have nontrivial requirements with respect to the ordering in which their methods or procedures ought to be called are common and appear, for instance, in the form of API implementations and objects. This work addresses the problem of validating if API implementations provide their intended behavior when descriptions of this behavior are informal, partial, or nonexistent. The proposed approach addresses this problem by generating abstract behavior models which resemble typestates. These models are statically computed and encode all admissible sequences of method calls. The level of abstraction at which such models are constructed has shown to be useful for validating code artifacts and identifying findings which led to the discovery of bugs, adjustment of the requirements expected by the engineer to the requirements implicit in the code, and the improvement of available documentation.