-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Data Structure Analysis #222
Conversation
I'm a bit confused by the commit history here - some of Yousif's commits that are not ready to merge in yet have been included, but then later reverted? Is there a neater way to do things than that? |
90eec8e
to
5cda0e9
Compare
It'll take some time to get across all the details of this, so detailed comments would really help to make it easier to understand. One thing that makes the code more difficult to follow at the moment is the widespread use of tuples - is it possible that replacing those with case classes would make sense? |
fbcb303
to
fe5b3e7
Compare
fe5b3e7
to
f600c66
Compare
# Conflicts: # src/main/scala/analysis/solvers/IDESolver.scala # src/main/scala/translating/ReadELFLoader.scala # src/main/scala/util/RunUtils.scala # src/test/scala/IndirectCallsTests.scala # src/test/scala/IrreducibleLoop.scala # src/test/scala/LiveVarsAnalysisTests.scala # src/test/scala/PointsToTest.scala # src/test/scala/ir/InterpreterTests.scala
… which are difficult to follow at a glance
… newer jumptable2 example, DSA test cleanup
… in its own file since it's so big
I've merged this and from my testing it seemed to be working fine, but please create issues for any problems that occur. |
includes symbolic access analysis and a reaching definitions analysis that works slightly differently from the one already implemented. (registers changed by a procedure call are defined by the call instruction)