|
ABSTRACT
In this paper we present Jedd, a language extension to Java that supports a convenient way of programming with Binary Decision Diagrams (BDDs). The Jedd language abstracts BDDs as database-style relations and operations on relations, and provides static type rules to ensure that relational operations are used correctly.The paper provides a description of the Jedd language and reports on the design and implementation of the Jedd translator and associated runtime system. Of particular interest is the approach to assigning attributes from the high-level relations to physical domains in the underlying BDDs, which is done by expressing the constraints as a SAT problem and using a modern SAT solver to compute the solution. Further, a runtime system is defined that handles memory management issues and supports a browsable profiling tool for tuning the key BDD operations.The motivation for designing Jedd was to support the development of whole program analyses based on BDDs, and we have used Jedd to express five key interrelated whole program analyses in our Soot compiler framework. We provide some examples of this application and discuss our experiences using Jedd.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
|
| |
2
|
D. M. Beazley. SWIG: An easy to use tool for integrating scripting languages with C and C++. In Proceedings of the 4th USENIX Tcl/Tk Workshop, pages 129--139, July 1996.
|
| |
3
|
Gerd Behrmann. The interactive BDD environment. http://iben.sourceforge.net/.
|
| |
4
|
|
 |
5
|
Marc Berndl , Ondrej Lhoták , Feng Qian , Laurie Hendren , Navindra Umanee, Points-to analysis using BDDs, Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation, June 09-11, 2003, San Diego, California, USA
|
| |
6
|
|
 |
7
|
|
 |
8
|
|
| |
9
|
|
 |
10
|
|
| |
11
|
|
| |
12
|
|
| |
13
|
Ondřej Lhoták and Laurie Hendren. Jedd: A BDD-based relational extension of Java. Technical Report 2003-7, McGill University, Sable Research Group, 2003.
|
| |
14
|
Jorn Lind-Nielsen. BuDDy, A Binary Decision Diagram Package. Department of Information Technology, Technical University of Denmark, http://www.itu.dk/research/buddy/.
|
| |
15
|
|
| |
16
|
Erik Meijer and Wolfram Schulte. Unifying tables, objects, and documents. In Workshop on Declarative Programming in the Context of Object-Oriented Languages, pages 145--166, August 2003.
|
| |
17
|
|
 |
18
|
|
 |
19
|
Matthew W. Moskewicz , Conor F. Madigan , Ying Zhao , Lintao Zhang , Sharad Malik, Chaff: engineering an efficient SAT solver, Proceedings of the 38th conference on Design automation, p.530-535, June 2001, Las Vegas, Nevada, United States
[doi> 10.1145/378239.379017]
|
| |
20
|
Marcus Nilsson. GBDD - A package for representing relations with BDDs. http://user.it.uu.se/-~marcusn/projects/rmc/docs/gbdd/index.html.
|
| |
21
|
N. Nystrom, M. R. Clarkson, and A. C. Myers. Polyglot: An extensible compiler framework for Java. In 12th International Conference on Compiler Construction, volume 2622 of LNCS, pages 138--152, 2003.
|
 |
22
|
|
| |
23
|
|
 |
24
|
|
| |
25
|
Fabio Somenzi. CUDD: CU Decision Diagram Package. Department of Electrical and Computer Engineering, University of Colorado at Boulder, http://vlsi.colorado.edu/~fabio/CUDD/.
|
| |
26
|
Arash Vahidi. Arash's Java interface to BDDs. http://www.chl.chalmers.se/~vahidi/bdd/bdd.html.
|
| |
27
|
Raja Vallée-Rai , Etienne Gagnon , Laurie J. Hendren , Patrick Lam , Patrice Pominville , Vijay Sundaresan, Optimizing Java Bytecode Using the Soot Framework: Is It Feasible?, Proceedings of the 9th International Conference on Compiler Construction, p.18-34, March 25-April 02, 2000
|
| |
28
|
John Whaley. JavaBDD - Java binary decision diagram library. http://javabdd.sourceforge.net/.
|
 |
29
|
|
| |
30
|
|
| |
31
|
|
 |
32
|
|
CITED BY 23
|
|
|
|
|
|
|
|
|
|
|
Pavel Avgustinov , Aske Simon Christensen , Laurie Hendren , Sascha Kuzins , Jennifer Lhoták , Ondřej Lhoták , Oege de Moor , Damien Sereni , Ganesh Sittampalam , Julian Tibble, Optimising aspectJ, ACM SIGPLAN Notices, v.40 n.6, June 2005
|
|
|
|
|
|
Monica S. Lam , John Whaley , V. Benjamin Livshits , Michael C. Martin , Dzintars Avots , Michael Carbin , Christopher Unkel, Context-sensitive program analysis as database queries, Proceedings of the twenty-fourth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems, June 13-15, 2005, Baltimore, Maryland
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Hamid Shojaei , Twan Basten , Marc Geilen , Phillip Stanley-Marbell, SPaC: a symbolic pareto calculator, Proceedings of the 6th IEEE/ACM/IFIP international conference on Hardware/Software codesign and system synthesis, October 19-24, 2008, Atlanta, GA, USA
|
|
|
|
|
|
|
|