https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99694

--- Comment #11 from Haoxin Tu <haoxintu at gmail dot com> ---
Hi all.

I hope you all are doing well.

I am sorry to bother you again. May I ask a quick question about how do you
treat the bug-revealing test case which may include the valid syntax but
contain the UB? (e.g.,"b = i / 0;" in the above case is undefined). BTW, I did
not find my answer in the document
https://www.gnu.org/software/gcc/bugs/management.html.

(1)From my understanding, compilers should compile well (no crashing or
performance issue) with those test programs although they contain UB. Ideally,
programmers may introduce a UB by accident in their program, after compiling,
not to mention whether the warning message emitted by compilers is correct or
not, compilers should exit normally.  Am I correct here? 
(2)From my experience, those bugs caused by the UB-included program can always
occur in the optimization phase. So I think those test cases can be critical as
well (compared with wrong-code issues)? How do you categorize the importance of
related crashes or performance issues caused by such test programs? 

I am asking the question because I am thinking whether the effort is worthing
or not if I devise a tool that can produce diverse syntactic valid but may
contain UB test programs to detect crashes or performance issues in compilers.
The motivation is that I noticed the goal of most existing program generators
(e.g.,Csmith [1], YARPGen [2]) is to produce UB-free test programs to detect
miscompiliation bugs in compilers, few (only CCG [3], a quite old tool so that
may be hard to find bugs right now) aims to detect crashs using programs with
UB. So I guess our community may lack such test cases to further stress
compilers. If such diverse test programs (such as the reported one) can help
improve the quality of compilers, I'd like to spend some time on it.

Sorry again for my bothering and any suggestions are welcome! 

[1] https://github.com/csmith-project/csmith
[2] https://github.com/intel/yarpgen
[3] https://github.com/Mrktn/ccg

Thanks!
Haoxin

Reply via email to