GaloisInc / MATE

MATE is a suite of tools for interactive program analysis with a focus on hunting for bugs in C and C++ code using Code Property Graphs.
https://galoisinc.github.io/MATE/
BSD 3-Clause "New" or "Revised" License
177 stars 12 forks source link

Update cclyzer++ to v0.3 #55

Closed langston-barrett closed 1 year ago

langston-barrett commented 1 year ago

Just to stay up-to-date.

See https://github.com/GaloisInc/cclyzerpp/releases/tag/v0.2

Tested against the regular test suite - the new ntu-uaf test failed, but I didn't see a difference when I compared the pointer analysis output line-for-line against the most recent and first commit of cczlyer++. @thinkmoore can you run the tests and see if they pass or fail for you?

langston-barrett commented 1 year ago

Tested against the regular test suite - the new ntu-uaf test failed, but I didn't see a difference when I compared the pointer analysis output line-for-line against the most recent and first commit of cczlyer++.

Whoops, found a bug in my comparison script. Making this a draft until I fix that and find out why the UAF test is failing.

langston-barrett commented 1 year ago

Actually, it looks like this is a problem on main: https://github.com/GaloisInc/MATE/issues/56

langston-barrett commented 1 year ago

This works after rebasing onto #57 and upgrading to cclyzer++ v0.3!

thinkmoore commented 1 year ago

Does this need further review here @langston-barrett ? Or in cclyzer++'s repo?

langston-barrett commented 1 year ago

@thinkmoore I'm happy with whatever level of review you deem suitable. From highest-level to lowest, you might consider looikng at:

thinkmoore commented 1 year ago

I looked through all of the changed files etc via the merged PR list. All look reasonable to me assuming cclyzer++ and MATE tests pass. One minor question: https://github.com/GaloisInc/cclyzerpp/pull/85 removes the subset and unification together build target---don't we use that for testing?

langston-barrett commented 1 year ago

One minor question: https://github.com/GaloisInc/cclyzerpp/pull/85 removes the subset and unification together build target---don't we use that for testing?

Good question - we use the debug target, which also has both analyses. That target had both analyses and also output only the analysis relations.