Software is difficult to develop, maintain, and reuse. Two factors that
contribute to this difficulty are the lack of modular design and good
program documentation. The first makes software changes more difficult
to implement. The second makes programs more difficult to understand and
to maintain.
Formal Specification Techniques for Engineering Modular C Programs
describes a novel approach to promoting program modularity. The book
presents a formal specification language that promotes software
modularity through the use of abstract data types, even though the
underlying programming language may not have such support. This language
is structured to allow useful information to be extracted from a
specification, which is then used to perform consistency checks between
the specification and its implementation.
Formal Specification Techniques for Engineering Modular C Programs
also describes a specification-driven, software re-engineering process
model for improving existing programs. The aim of this process is to
make existing programs easier to maintain and reuse while keeping their
essential functionalities unchanged.
Audience: Suitable as a secondary text for graduate level courses in
software engineering, and as a reference for researchers and
practitioners in industry