Dynamic Component Substitutability Analysis

  • Natasha Sharygina
  • Sagar Chaki
  • Edmund Clarke
  • Nishant Sinha
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3582)

Abstract

This paper presents an automated and compositional procedure to solve the substitutability problem in the context of evolving software systems. Our solution contributes two techniques for checking correctness of software upgrades: 1) a technique based on simultaneous use of over and under approximations obtained via existential and universal abstractions; 2) a dynamic assume-guarantee reasoning algorithm – previously generated component assumptions are reused and altered on-the-fly to prove or disprove the global safety properties on the updated system. When upgrades are found to be non-substitutable our solution generates constructive feedback to developers showing how to improve the components. The substitutability approach has been implemented and validated in the ComFoRT model checking tool set and we report encouraging results on an industrial benchmark.

Keywords

Software Model Checking Verification of Evolving Software Learning Regular Sets Assume/Guarantee Reasoning 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Natasha Sharygina
    • 1
  • Sagar Chaki
    • 1
  • Edmund Clarke
    • 1
  • Nishant Sinha
    • 1
  1. 1.Carnegie Mellon University 

Personalised recommendations