Date: Fri, 25 Apr 2014 20:59:09 +0300 From: Kimmo Paasiala <kpaasial@icloud.com> To: Ben Laurie <benl@freebsd.org> Cc: =?windows-1252?Q?Dag-Erling_Sm=F8rgrav?= <des@des.no>, "Ronald F. Guilmette" <rfg@tristatelogic.com>, "freebsd-security@freebsd.org security" <freebsd-security@freebsd.org> Subject: Re: OpenSSL static analysis, was: De Raadt + FBSD + OpenSSH + hole? Message-ID: <1705A4DB-6413-442E-8850-E629EC1702F2@icloud.com> In-Reply-To: <CAG5KPzyTCTbe_vTcP8HDa_KU0agNZQjzVmQ4XnZZjgGFEVnyaQ@mail.gmail.com> References: <DC2F9726-881B-4D42-879F-61377CA0210D@mac.com> <8783.1398202137@server1.tristatelogic.com> <20140423003400.GA8271@glaze.hydra> <20140423010054.2891E143D098@rock.dv.isc.org> <20140423012206.GB8271@glaze.hydra> <86bnvpoav7.fsf@nine.des.no> <CAG5KPzyTCTbe_vTcP8HDa_KU0agNZQjzVmQ4XnZZjgGFEVnyaQ@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 25.4.2014, at 17.15, Ben Laurie <benl@freebsd.org> wrote: > On 25 April 2014 13:24, Dag-Erling Sm=F8rgrav <des@des.no> wrote: >> Chad Perrin <code@apotheon.net> writes: >>> Obviously, human judgment is an important part of the process of = finding >>> and fixing bugs. If it wasn't, the last program we'd ever have to = debug >>> would be the one that finds and fixes bugs. >>=20 >> https://en.wikipedia.org/wiki/Halting_problem >>=20 >> Oh, wait, is this one of those conversations where knowledge and = facts >> are not welcome? >=20 > Curious what the halting problem can tell us about finding/fixing = bugs? >=20 It and its direct implications mean that it=92s provably impossible to = write a program X that would take another program A as its input and be = able to decide with 100% certainty whether this other program A has a = certain property or not. In the actual halting problem the property is =93The program runs to = completion and produces a result with every possible input=94. A classic = real world example is when property is set to =93The program A is/has a = virus=94. The halting problem applies to this discussion very naturally = if you use the property =93The program A has a buffer overflow = vulnerability=94 or =93The program A uses memory that has already been = free()=92d=94. None of these properties (or any other similar property) = can be detected programmatically with 100% certainty, that is what the = halting problem tells you about finding bugs. In essence all this is saying that is foolish to claim that an automated = code analyzer could find all bugs in a given piece of code, outside some = very trivial programs it is just not going to happen. =20 -Kimmo
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1705A4DB-6413-442E-8850-E629EC1702F2>