Verification of Evolving Software

We define the substitutability problem in the context of
evolving software systems as the verification of the following two
criteria: (i) previously established system correctness
properties must remain valid for the new version of a system, and
(ii) the updated portion of the system must continue to provide
all (and possibly more) services offered by its earlier
counterpart. We present a completely automated procedure based
on learning techniques for regular sets to solve the substitutability
problem for component based software. We have implemented and
validated our approach in the context of the ComFoRT reasoning
framework and report encouraging preliminary results on an industrial
benchmark.

In Proceedings of the 3rd International Workshop on Specification and Verification of Component-based Systems (SAVCBS) 2004, 7 pages.