The right algorithm at the right time: comparing data flow analysis algorithms for finite state verification

  • Authors:
  • Jamieson M. Cobleigh;Lori A. Clarke;Leon J. Osterweil

  • Affiliations:
  • Laboratory for Advanced Software Engineering Research, Department of Computer Science, University of Massachusetts Amherst, Amherst, MA;Laboratory for Advanced Software Engineering Research, Department of Computer Science, University of Massachusetts Amherst, Amherst, MA;Laboratory for Advanced Software Engineering Research, Department of Computer Science, University of Massachusetts Amherst, Amherst, MA

  • Venue:
  • ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

Finite state verification is emerging as an important technology for proving properties about software. In our experience, we have found that analysts have different expectations at different times. When an analyst is in an exploratory mode, initially formulating and verifying properties, analyses usually find inconsistencies because of flaws in the properties or in the software artifacts being analyzed. Once an inconsistency is found, the analyst begins to operate in a fault finding mode, during which meaningful counter example traces are needed to help determine the cause of the inconsistency. Eventually systems become relatively stable, but still require re-verification as evolution occurs. During such periods, the analyst is operating in a maintenance mode and would expect re-verification to usually report consistent results. Although it could be that one algorithm suits all three of these modes of use, the hypothesis explored here is that each would be best served by an algorithm optimized for the expectations of the analyst.