SMS: Formal specification techniques for engineering modular C programs / by Tan Yang Meng ; foreword by John Guttag.