<div dir="ltr">Hello,<div><br></div><div>I am looking to conduct a blended analysis of c programs, with respect to certain invariants, using clang. I was wondering if there are been similar projects that have been previously completed.</div><div><br></div><div>As we have the source of these programs, my initial attempts have led me to using the clang static analyzer to statically assert as many of the invariants as I can using a path sensitive analysis, and identifying places to identify dynamic checks for certain passes where the invariant is unknown if violated. The only way I have seen to identify these points of interest is to use a Rewriter instance to leave a marker comment at that source location where I want to insert dynamic checks. Is there a more standard way of communicating these locations for dynamic checks out from the static analyzer?</div><div><br></div><div><br></div><div>After those calls have been properly communicated I would like to use some method to embed checks into the final executable. From my understanding I can do this through a source to source translation with a Rewriter, with an AST modification, or at the IR level. Do you have any advice on what would be best to embed a variety of dynamic checks into a many different c programs?</div><div><br></div><div><br></div><div>Thank You,</div><div>Eric Williamson</div></div>