[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
[incquery-dev] pointer analysis in mbeddr
|
Hi all,
I have some good news. After discussions with Gaben, I think I have
successfully migrated to the new IQ API in MPS-IncQuery and fixed
hopefully all the bugs.
This has enabled me to attempt to implement a long standing item from
our wish list, which is incremental points-to analysis in mbeddr.
For those interested there is a paper
http://dl.acm.org/citation.cfm?id=1069785 which explains the basics
quite well (it is enough to just take a look at Fig 1 and 2 for the idea).
I have extended this algorithm to be a flow-sensitive one (I omit the
details here), which is a great thing because it makes the analysis more
precise. This required not only to implement the mentioned algorithm
from the paper but to also model the entire control flow graph of the
mbeddr C code with graph patterns (basically a before relation between
statements which respects loops, ifs, etc).
So far, this may only be interesting for the mbeddr team, but I think
the implementation is one of the most complicated case studies of IncQuery.
Some additional comments:
* This is still work in progress, I will try to validate the results so
that they match the ones produced by our "original non-incremental"
algorithm in mbeddr. Manual inspection so far seemed to be good.
* It would be great if somebody could give me a "code review" for the
patterns to clear out any potential performance bottlenecks.
* Once these are done, I will evaluate the performance on our Smart
Meter commercial project.
Cheers,
Tomi
--
Tamás Szabó
Software Engineer
Tel.: +49 711 342 191 0
Fax.: +49 711 342 191 29
Mobil: +49 171 565 416 9
Web: www.itemis.de
Mail: tamas.szabo@xxxxxxxxx
Skype: szabta89
LinkedIn: de.linkedin.com/pub/tamas-szabo/51/610/a12/
itemis AG
Niederlassung Süd
Industriestrasse 6.
70565 Stuttgart
Rechtlicher Hinweis:
Registergericht: Amtsgericht Dortmund HRB 20621 | Sitz der Gesellschaft:
Lünen
Vorstand: Jens Wagener (Vorsitzender) | Wolfgang Neuhaus | Dr. Georg
Pietrek | Jens Trompeter | Sebastian Neus
Aufsichtsrat: Prof. Dr. Burkhard Igel (Vorsitzender) | Stephan Grollmann
| Michael Neuhaus