Lock Inference in the Presence of Large Libraries
Add to your list(s)
Download to your calendar using vCal
If you have a question about this talk, please contact Eiko Yoneki.
Atomic sections can be implemented using lock inference. For lock inference
to be practically useful, it is crucial that large libraries be analysed.
However, libraries are challenging for static analysis, due to their
cyclomatic complexity.
Existing approaches either ignore libraries, require library implementers to
annotate which locks to take or only consider accesses performed upto one
level deep in library call chains. Thus, some library accesses may go
unprotected, leading to atomicity violations that atomic sections are
supposed to eliminate.
We present a lock inference approach for Java that analyses library methods
in full. We achieve this by (i) formulating lock inference as an
Interprocedural Distributive Environment dataflow problem, (ii) using a
graph representation for summary information and (iii) applying a number of
optimisations to our implementation to reduce space-time requirements and
locks inferred. We demonstrate the scalability of our approach by analysing
the entire GNU Classpath library comprising 122KLOC.
This talk is part of the Computer Laboratory Systems Research Group Seminar series.
This talk is included in these lists:
Note that ex-directory lists are not shown.
|