Repository navigation
Performance issues and bugs corrections - #26
Open
borisaraujo wants to merge 18 commits into
Open
borisaraujo wants to merge 18 commits into
borisaraujo wants to merge 18 commits into
Conversation
… graph library already tracks edge identity, and insertion into a set is idempotent: no need to manually check whether an edge already exists before adding it.
…imited the number of polymorphic procedures that could be visited.
…s() in findFieldStores; bump default sbt heap for the securibench runner. RTA (and VTA/SPARK) can still blow up memory building the call graph over the wide include-list, needs a follow-up fix.
…recompiling a regex Pattern for a literal single-character replacement.
…o any call site yet.
…call instead of one per allocation site; validity checked via native set intersection, not string equality of a single sampled site.
…y set from Spark means 'no allocation site to offer', not 'provably empty' — fixes a SPARK precision regression.
…xpansion is sorted by a content-based key instead of JVM identity-hash Set iteration order.
…each had a 'return' that stopped after the first unvisited neighbor, silently skipping real paths through the rest.
… stack-based DFS instead of recursive, and scoped to nodes that can actually reach the target.
… a branch as soon as its running points-to intersection is empty, instead of validating a fully built candidate afterward.
…g at all, so a densely connected slice could otherwise run unbounded.
…ty set from Spark means no allocation-site info, not two objects provably being different — same reasoning as the getPointsToSet fix, applied to this alias check.
…ck box by definition; nothing inside whatever CHA resolved should refine that.
…d is always abstract for a polymorphic call site, so this was unconditionally discarding every such call's interprocedural flow.
…LowerCase/trim/replace/substring now use CopyFromMethodCallToLocal, letting value chains through them propagate taint.
…h larger call graphs than CHA and are prone to GC-thrashing/OOM on a small inherited heap.
…t from the previous commit overridable instead of hardcoded.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The underlying graph library already tracks edge identity, and insertion into a set is idempotent: no need to manually check whether an edge already exists before adding it.