Authors:
Shigeru Kusakabe
;
Yoichi Ohmori
and
Keijiro Araki
Affiliation:
Kyushu University, Japan
Keyword(s):
Light-weight formal methods, Testing, Cloud computing, Parallel processing, Functional programming, MapReduce programming.
Related
Ontology
Subjects/Areas/Topics:
Programming Languages
;
Requirements Elicitation and Specification
;
Software Engineering
;
Software Engineering Methods and Techniques
;
Software Testing and Maintenance
Abstract:
We discuss the features of functional programming related to formal methods and an emerging paradigm, Cloud Computing. Formal methods are useful in developing highly reliable mission-critical software. However, in light-weight formal methods, we do not rely on very rigorous means, such as theorem proofs. Instead, we use adequately less rigorous means, such as evaluation of pre/post conditions and testing specifications, to increase confidence in our specifications. Millions of tests may be conducted in developing highly reliable mission-critical software in a light-weight formal approach. We consider an approach to leveraging lightweight formal methods by using ”Cloud.” Given a formal specification language which has the features of functional programming, such as referential transparency, we can expect advantages of parallel processing. One of the basic foundations of VDM specification languages is Set Theory. The pre/post conditions and proof-obligations may be expressed in terms o
f set expressions. We can evaluate this kind of expression in a data-parallel style by using MapReduce framework for a huge set of test cases over cloud computing environments. Thus, we expect we can greatly reduce the cost of testing specifications in light-weight formal methods.
(More)