[SystemSafety] Logic

Heath Raftery hraftery at restech.net.au
Tue Feb 18 23:10:03 CET 2014


On 19/02/2014 4:13 AM, Dewi Daniels wrote:
> Derek,
 >
> You also wrote:
>
>> It is also arm-waving to say that formal methods will scale to large
> (i.e., more than a few hundred lines) systems.
>
> I am astonished by this statement. I was personally involved in the program
> proof of several thousand lines of code in the early 1990s, including the
> Full Authority Digital Engine Controller for the Rolls-Royce RB 211-535.
> Since then, there have been many much larger applications of formal methods,
> including SHOLIS, Tokeneer and iFACTS. Furthermore, there has been a
> noticeable reduction in the number of Blue Screens Of Death in Microsoft
> Windows in the large decade; I understand this has, to a large extent, been
> achieved by the adoption by Microsoft of a tool based on formal methods to
> detect defects in third-party device drivers (see e.g.
> http://research.microsoft.com/pubs/70038/tr-2004-08.pdf). I find your
> suggestion that formal methods have not been used on programs of more than a
> few hundred lines to be very surprising.

The first paragraph in the Introduction of that paper is particularly 
telling:

"[Originally] the ultimate goal of formal methods [...] was to [...] 
rigorously prove programs fully correct. While this goal remains largely 
unrealized, many researchers now focus on the less ambitious but still 
important goal of stating partial specifications of program behavior."

I hope I'm not misrepresenting Derek's argument, but it seems to me this 
is the core issue. Derek claims that using formal methods on a small 
slice of a larger project does not constitute an example of formal 
methods scaling to a large project. I'm inclined to agree with Derek's 
contention that formal methods scale very poorly to large projects, and 
this paragraph from the paper backs that up.

I however, still remain hopeful, and look forward to reading more 
examples of large scale use of formal methods.

Heath



More information about the systemsafety mailing list