Teaching Formal Methods
by C. Neville Dean
2020-04-19 20:28:21
"Professional engineers can often be distinguished from other designers by the engineers'' ability to use mathematical models to describe and 1 analyze their products." This observation by Parnas describes the de facto professional standard...
Read more
"Professional engineers can often be distinguished from other designers by the engineers'' ability to use mathematical models to describe and 1 analyze their products." This observation by Parnas describes the de facto professional standards in all classical engineering disciplines (civil, mechanical, electrical, etc.). Unf- tunately, it is in sharp contrast with current (industrial) practice in software design, where mathematical models are hardly used at all, even by those who, 2 in Holloway''s words "aspire to be engineers." The rare exceptions are certain critical applications, where mathematical techniques are used under the general name formal methods. Yet,thesamecharacteristicsthatmakeformalmethodsanecessityincritical applicationsmakethemalsoadvantageousineverydaysoftwaredesignatvarious levels from design e?ciency to software quality. Why, then, is education failing with respect to formal methods? - failing to convince students, academics and practitioners alike that formal methods are truly pragmatic; - failing to overcome a phobia of formality and mathematics; - failing to provide students with the basic skills and understanding required toadoptamoremathematicalandlogicalapproachtosoftwaredevelopment. Until education takes these failings seriously, formal methods will be an obscure byway in software engineering, which in turn will remain severely impoverished as a result.
Less