Next: 3 Comparison
Up: 2 Position
Previous: Specification of Software Frameworks
Subsections
Frameworks make assumptions about their parameters. Practitioners
of formal methods are free to model these assumptions in a variety
of safe ways, i.e., by weakening the actual assumption.
Usually we want to use the weakest possible assumptions because they
provide the broadest degree of applicability for the reasoning result,
i.e., those assumptions are satisfied in more contexts that use a
framework. Given this range, can stronger parameter assumptions be
put to good use?
Once we understand the range of formal specification methods that can
be applied to frameworks and the components that interact with, then
we want to understand what reasoning techniques are applicable.
Can fully-automated techniques such as model-checking, flow analyses, and
state-space search methods be applied to those portions of the
problem for which lighter-weight methods are appropriate?
Can these techniques be effectively integrated, where necessary,
with reasoning techniques for heavier-weight methods?
This is really an empirical question. It should be clear that using an
exact form of reasoning is infeasible. We are then left with performing
an approximating analysis to reason about behavior; to the extent that
such an analysis is safe or conservative we will be able
to trust (some of) its results.
Given this and considering the application of such methods to realistic
software frameworks:
Can limiting the scope of analysis to the framework
effectively reduce validation cost?
Do we actually reduce run time?
Can limiting scope of analysis to the framework preserve sufficient levels of accuracy in their results?
Do we get trustworthy results, i.e., that are as meaningful as a proof.
We could simply bundle specifications as text with the source code
of a framework and satisfy the desire for precise documentation
of frameworks. We could link parameter specifications with appropriate
verification tools so that they could be invoked at framework
instantiation time.
What level of expertise will be required of consumers
of this kind of capability? What about tools that require
some kind of user interaction?
Next: 3 Comparison
Up: 2 Position
Previous: Specification of Software Frameworks
Matthew B. Dwyer
Sept. 2, 1997