Thanks, Jakob. With the usage slice, the idea I had in mind was to identify hotspots and then find the test coverage to determine any gaps. With the dataflow slice, precompute paths based on criteria, such as usage of a certain memory or Unicode operation, and then guide the fuzzer to test those particular flows.
I will spend more time with the codebase to produce a working poc and come back with an update. Best, Prabhu > On 11 Sep 2023, at 15:50, Jakob Kummerow <jkumme...@chromium.org> wrote: > > On Sun, Sep 10, 2023 at 2:06 PM Prabhu Subramanian <pra...@appthreat.dev > <mailto:pra...@appthreat.dev>> wrote: >> Hello, >> >> I am a newbie here. Apologies if this is not the right group for the below >> message. >> >> I am one of the developers of a static program analysis/slicer tool called >> atom (Apache-2.0). Atom uses the popular joern library (which internally >> uses Eclipse CDT for c/c++). >> >> https://github.com/AppThreat/atom >> >> With atom, it is possible to generate an intermediate representation for a >> project and then slice it into two modes - usages and data-flow. This is >> discussed in the below document. >> >> https://github.com/AppThreat/atom/blob/main/specification/docs/slices.md >> >> We recently improved the performance of generating atom to support large >> code bases like v8. It is possible to produce the usages slice in around 18 >> minutes using the below commands. >> >> ## Prerequisites >> >> Ensure java >= 17 is installed >> Download atom from https://github.com/AppThreat/atom/releases >> >> ```shell >> >> unzip atom.zip >> cd atom-1.0.0/bin >> >> ./atom -J-Xms40g -J-Xmx40g usages --slice-outfile usages.json -o app.atom >> --language c <path to v8>/src >> ``` >> >> ## Proposal >> >> The information in the usages slice, such as locations, signature, and type >> can be used to improve testing and fuzzing of projects like v8. > > Can you be a bit more specific? How exactly can this information be used for > better testing or fuzzing? > >> I am unsure if this is an area actively explored here, > > It certainly is. > >> but we would love to discuss further if this is useful. > > Note that a lot of the "interesting" things that V8 does have to do with JIT > code generation and custom heap management, so usually tools that rely on C++ > code analysis can only gain very limited insight into everything that's > happening. > If you believe that your analysis tool does provide useful input for fuzzers, > then one thing you could do is run your own fuzzer over V8, and submit any > relevant issues it discovers to the Chrome VRP > <https://bughunters.google.com/about/rules/5745167867576320/chrome-vulnerability-reward-program-rules> > to make it worth your while. > >> The link below is a gzipped version of the usages slice json generated today >> for convenience. >> >> https://github.com/AppThreat/atom/files/12568103/usages.json.tar.gz >> >> Best, >> Prabhu >> >> >> -- > > > -- > -- > v8-dev mailing list > v8-dev@googlegroups.com <mailto:v8-dev@googlegroups.com> > http://groups.google.com/group/v8-dev > --- > You received this message because you are subscribed to a topic in the Google > Groups "v8-dev" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/v8-dev/R6K9I5yEiYc/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > v8-dev+unsubscr...@googlegroups.com > <mailto:v8-dev+unsubscr...@googlegroups.com>. > To view this discussion on the web visit > https://groups.google.com/d/msgid/v8-dev/CAKSzg3SMce0ocOT5H5AqKwqQ7ybh6hnt89e95o08z%2BY8hNji%2BA%40mail.gmail.com > > <https://groups.google.com/d/msgid/v8-dev/CAKSzg3SMce0ocOT5H5AqKwqQ7ybh6hnt89e95o08z%2BY8hNji%2BA%40mail.gmail.com?utm_medium=email&utm_source=footer>. -- -- v8-dev mailing list v8-dev@googlegroups.com http://groups.google.com/group/v8-dev --- You received this message because you are subscribed to the Google Groups "v8-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to v8-dev+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/v8-dev/B93265D7-4D0B-4669-895F-7B73135D6FF0%40appthreat.dev.