secure-software-engineering / phasar

A LLVM-based static analysis framework.
Other
920 stars 140 forks source link

Fix and Simplify Initial Seeds #600

Closed fabianbs96 closed 1 year ago

fabianbs96 commented 1 year ago

The initialSeeds() for most IFDS/IDE problems were set on the first instruction of the EntryPoints functions. However, the LLVMBasedCFG (correctly) skips debug intrinsics by default which may prevent the IDESolver from computing edge values on entry-functions where the first instruction (that one where the seeds are set) is a debug instruction.

This PR fixes this issue and additionally provides some utilities that make it easier creating correct seeds.