C++ Logo


Advanced search

Re: [ub] a recent empirical study on undefined behavior-based program transformations

From: Lawrence Crowl <Lawrence_at_[hidden]>
Date: Thu, 31 Oct 2013 00:55:49 -0700
On 10/30/13, Gabriel Dos Reis <gdr_at_[hidden]> wrote:
> A redux from the team that sparked discussions last Spring
> and the eventual formation of SG12.
> http://pdos.csail.mit.edu/~xi/papers/stack-sosp13.pdf

The end of the introduction has an interesting paragraph:

  Another conclusion one can draw from this paper is that
  language designers should be careful with defining language
  construct as undefined behavior. Almost every language
  allows a developer to write programs that have undefined
  meaning according to the language specification. Our
  experience with C / C++ indicates that being liberal with
  what is undefined can lead to subtle bugs.

Unfortunately, my experience with languages that were
completely specified suffered from the same problem. Every
program construct had a meaning, but it might not have been
what the programmer intended, which lead to subtle bugs.
The fact that the authors found bugs through undefined
behavior is actually a good thing. They would not have
been found if the behavior was fully defined.

Lawrence Crowl

Received on 2013-10-31 08:55:51