Hi Dave,

>> 
>> 4. What’s the most interesting to me are PR103533
>> (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103533),
> 
> Turning on taint detection by default would be a great project.  It
> would be good to run the integration tests:
>  https://github.com/davidmalcolm/gcc-analyzer-integration-tests
> to see if anything regresses, or if it adds noise - so this might be a
> bit of an open-ended project, in that we'd want to fix whatever issues
> show up there, as well as the known ones that are documented in that
> bug.
> 

Sorry for replying to you late due to another project from my university. 

Since most other ideas are being worked on by you or not big enough to make a 
GSoC project, I decided to take on this project and have been getting familiar 
with the analyzer this weekend. I want to sort several things out before 
writing the proposal.

1. What should I do with the integration tests?

2. I ran gcc -fanalyzer -fanalyzer-checker=taint 
./gcc-src/gcc/testsuite/gcc.dg/analyzer/pr93032-mztools-signed-char.c , but I 
got different results from what you documented in PR103533:

/usr/bin/ld: /lib/x86_64-linux-gnu/crt1.o: in function `_start':
(.text+0x17): undefined reference to `main'
collect2: error: ld returned 1 exit status

3. What does “ICE” mean when you said “ICE in alt_get_inherited_state in 
abs-1.c, …”?

4. For the following program, nothing is reported with the taint mode turned 
on. But there is -Wanalyzer-tained-divisor, is it expected?

__attribute__((tainted_args))
int fun0(int a)
{ return a; }

int main()
{
  int b = 3 / fun0(0);
  return b;
}

5. I guess the project would mostly modify constraint-manager.h and sm-taint.cc 
<http://sm-taint.cc/>. Or are there other files that you suspect relevant for 
this project?

6. Is the current implementation based on some papers? I found this 
(https://users.ece.cmu.edu/~aavgerin/papers/Oakland10.pdf) and this 
(https://www.ndss-symposium.org/wp-content/uploads/2017/09/Dynamic-Taint-Analysis-for-Automatic-Detection-Analysis-and-SignatureGeneration-of-Exploits-on-Commodity-Software-Dawn-Song.pdf),
 but haven’t started reading yet. In addition, purging states of the constraint 
manager sounds like a problem other people may have looked at. Is there any 
related progress since you documented in PR103533?

As you said, this would be an open-ended project, so it would be very helpful 
to get some feedback from you so that I know how to draft my proposal. In 
addition, is it ok to deviate from the proposal after I start working? 

Best,
Shengyu

Reply via email to