Verification of Evolving Software via Component Substitutability Analysis
Sagar
Chaki, Edmund Clarke, Natasha Sharygina, Nishant Sinha,
Formal
Methods in System Design (FMSD), volume 32, number 3, page 235-266,
June 2008.
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 reasoning framework, and we report encouraging results on an
industrial benchmark.
PDF /
Online
© Springer