Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
OTAWA-plugins
Polymalys
Commits
7b495c0f
Commit
7b495c0f
authored
Jun 03, 2020
by
Ballabriga Clément
Browse files
Merge branch 'public' of gitlab.cristal.univ-lille.fr:otawa-plugins/polymalys into public
parents
7c0de1d5
27897b52
Changes
1
Hide whitespace changes
Inline
Side-by-side
README.md
View file @
7b495c0f
# Polymalys
Polymalys: Polyhedra-based Memory Analysis.
*
Version XX for Otawa XX
----
## Author
Clement Ballabriga
<Clement.Ballabriga@nospamuniv-lille.fr>
License: GPL 2.1 or higher.
Please remove "nospam" from the email address.
----
## Introduction
Polymalys is a tool for static analysis of
*binary*
code. It discovers
linear relations between data locations (i.e. memory locations as well
as registers) of the code. The analysis relies on abstract
interpretation using a polyhedra-based abstract domain. The current
implementation exploits the discovered linear relations to compute upper
bounds to loop iterations. For more information on the underlying
theory, refer to [1].
## Requirements
*
Parma Polyhedra Library (PPL): http://bugseng.com/products/ppl/
...
...
@@ -87,17 +112,21 @@ cd tests
Read
`tests/poly.cpp`
##
Known limitations (f
uture works
):
##
F
uture works
*
No modular inter-procedural analysis
*
No support for integer wrap/overflow
*
Loops with equality (instead of inequality) in loop condition will have pessimistic bounds
*
We assume that each memory access has 32bits-size, and is 32bits-aligned
*
Use discovered linear relations for other static analyses:
out-of-stack accesses detection, dead-code detection, ...
*
Inter-procedural analysis
*
Support for integer wrap/overflow
*
Loops conditions with equality tests (instead of inequality)
currently have pessimistic bounds
*
We currently assume that each memory access has 32bits-size, and is 32bits-aligned
*
Lots of speed optimization needs to be done
----
## References
## Questions:
mail: Clement.Ballabriga@univ-lille1.fr
[1] Ballabriga, C., Forget, J., Gonnord, L., Lipari, G. and Ruiz, J.,
2019, January. Static Analysis Of Binary Code With Memory Indirections
Using Polyhedra. In International Conference on Verification, Model
Checking, and Abstract Interpretation (pp. 114-135).
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment