| Bacon, D. F., Strom, R. E., and Tarafdar, A., "Guava: A Dialect of Java without Data Races", In OOPSLA 2000 Conference Proceedings, pp. 382-400, October 2000. |
....[16] and our proposal by using nullification or scope restrictions, and in Alias Burying [9] by invalidating all borrowings if a unique is read while borrowed. Checking the constraints underlying alias burying modularly leads to an interdependence between uniqueness and read e#ects [10] Guava [3] also uses lent parameters to avoid capturing of objects. Some noteworthy remarks regarding Table 2 follow. a) PRFJ [8] permits object graphs which violates deep ownership, but it uses an e#ects system to prevent access through the o#ending references. The result is e#ectively deep ownership. In ....
David F. Bacon, Robert E. Strom, and Ashis Tarafdar. Guava: a dialect of Java without data races. In OOPSLA Proceedings, pages 382--400, 2000.
....a) Islands only allow read only borrowing. b) Boyland s Alias Burying [9] eliminates the need for destructive reads with a clever static analysis. Using this technique here could have been possible, at the cost of complicating our semantics, since an e ects system is required. c) Guava [3] has an interesting combination of features. So called value objects are passed by moving or copying and thus remain uniquely referred to (but not externally so) The con nement of objects (which are disjoint from value objects) is thread based, and while borrowing is possible, it applies only to ....
.... p p Ownership Types [14, 12, 13] None Deep Ownership Types [12, 11] None Shallow Flexible Alias Protection [29] Free Deep Islands [21] a Conventional Full Limited OOFX Alias Burying [9, 19] b Conventional None Limited , Ei el [27] Conventional None Limited Guava [3] Conventional Thread AliasJava [1] d Conventional Shallow Limited PRFJ [7] e Conventional E ectively Deep Limited Universes [28] f None Deep Balloons [2] g Conventional Full Limited p Virginity [26] Free None Limited Pivot Uniqueness [25] h ....
David F. Bacon, Robert E. Strom, and Ashis Tarafdar. Guava: a dialect of Java without data races. In OOPSLA Proceedings, pages 382-400, 2000.
....might occur in any one of them. Flanagan and Freund s datarace detection tool is a static tool for Java [15] which tracks synchronization using extended type inference and checking. Guava is a dialect of Java that statically disallows dataraces by preventing concurrent accesses to shared data [3]. Only instances of classes belonging to the class category called monitor can be shared by multiple threads. By serializing all accesses to fields or methods of the same shared data, Guava can prevent dataraces. Boyapati and Rinard propose a system of type annotations for Java that ensures a ....
D. F. Bacon, R. E. Strom, and A. Tarafdar. Guava: A dialect of java without data races. In ACM Conference on Object-Oriented Programming Systems, Languages, and Applications, 2000.
....are useful to support object migration between threads. The type checker statically verifies that a program uses objects only in accordance with their declared protection mechanisms. Our type system is significantly more expressive than previously proposed type systems for preventing data races [22, 4]. In particular, our type system lets programmers write generic code to implement a class, then create di#erent objects of the class that have di#erent protection mechanisms. We do this by introducing a way of parameterizing classes that lets programmers defer the protection mechanism decision ....
....only by copying the data. A thread cannot pass a pointer to an object to a monitor. More recently, researchers have proposed type systems to prevent data races in object oriented programs. Race Free Java [22] extends the static annotations in ESC Java into a formal race free type system. Guava [4] is another dialect of Java for preventing data races. Our race free type system published earlier [7] lets programmers write generic code to implement a class, and create di#erent objects of the same class that have di#erent protection mechanisms. But the above systems do not prevent deadlocks. ....
D.F.Bacon,R.E.Strom,andA.Tarafdar.Guava:A dialect of Java without data races. In Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), October 2000.
....are useful to support object migration be1 tween threads. The type checker statically verifies that a program uses objects only in accordance with their declared protection mechanisms. Our type system is significantly more expressive than previously proposed type systems for preventing data races [15, 2]. In particular, our type system lets programmers write generic code to implement a class, then create di#erent objects of the class that have di#erent protection mechanisms. We do this by introducing a way of parameterizing classes that lets programmers defer the protection mechanism decision ....
....by copying the data. A thread could not pass a reference to an object to a monitor. More recently, researchers have proposed type systems to prevent data races in object oriented programs. Race Free Java [15] extends the static annotations in Esc Java into a formal race free type system. Guava [2] is another dialect of Java for preventing data races. Our race free type system published earlier [3] lets programmers write generic code to implement a class, and create di#erent objects of the same class that have di#erent protection mechanisms. Our type system described in this paper extends ....
D. F. Bacon, R. E. Strom, and A. Tarafdar. Guava: A dialect of Java without data races. In Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), October 2000.
....The Extended Static Checker for Java (Esc Java) 10] is an annotation based system that uses a theorem prover to statically detect many kinds of errors including data races and deadlocks. Race Free Java [11] extends the static annotations in Esc Java into a formal race free type system. Guava [3] is another dialect of Java for preventing data races. Parameterized Race Free Java (PRFJ) 5] builds on Race Free Java and lets programmers write generic code to implement a class, and create di erent objects of the same class that have different protection mechanisms. PRFJ also supports objects ....
D. F. Bacon, R. E. Strom, and A. Tarafdar. Guava: A dialect of Java without data races. In Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), October 2000.
....The Extended Static Checker for Java (Esc Java) 10] is an annotation based system that uses a theorem prover to statically detect many kinds of errors including data races and deadlocks. Race Free Java [11] extends the static annotations in Esc Java into a formal race free type system. Guava [3] is another dialect of Java for preventing data races. Parameterized Race Free Java (PRFJ) 5] builds on Race Free Java and lets programmers write generic code to implement a class, and create di#erent objects of the same class that have different protection mechanisms. PRFJ also supports objects ....
D. F. Bacon, R. E. Strom, and A. Tarafdar. Guava: A dialect of Java without data races. In Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), October 2000.
....are useful to support object migration be1 tween threads. The type checker statically veri es that a program uses objects only in accordance with their declared protection mechanisms. Our type system is signi cantly more expressive than previously proposed type systems for preventing data races [15, 2]. In particular, our type system lets programmers write generic code to implement a class, then create di erent objects of the class that have di erent protection mechanisms. We do this by introducing a way of parameterizing classes that lets programmers defer the protection mechanism decision ....
....by copying the data. A thread could not pass a reference to an object to a monitor. More recently, researchers have proposed type systems to prevent data races in object oriented programs. Race Free Java [15] extends the static annotations in Esc Java into a formal race free type system. Guava [2] is another dialect of Java for preventing data races. Our race free type system published earlier [3] lets programmers write generic code to implement a class, and create di erent objects of the same class that have di erent protection mechanisms. Our type system described in this paper extends ....
D. F. Bacon, R. E. Strom, and A. Tarafdar. Guava: A dialect of Java without data races. In Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), October 2000.
....are useful to support object migration be1 tween threads. The type checker statically veri es that a program uses objects only in accordance with their declared protection mechanisms. Our type system is signi cantly more expressive than previously proposed type systems for preventing data races [15, 2]. In particular, our type system lets programmers write We do this by introducing a way of parameterizing classes that lets programmers defer the protection mechanism decision from the time when a class is de ned to the times when objects of that class are created. 1.3 Contributions This paper ....
....by copying the data. A thread could not pass a reference to an object to a monitor. More recently, researchers have proposed type systems to prevent data races in object oriented programs. Race Free Java [15] extends the static annotations in Esc Java into a formal race free type system. Guava [2] is another dialect of Java for preventing data races. Our race free type system published earlier [3] lets programmers write generic code to implement a class, and create di erent objects of the same class that have di erent protection mechanisms. Our type system described in this paper extends ....
D. F. Bacon, R. E. Strom, and A. Tarafdar. Guava: A dialect of Java without data races. In Object-Oriented
....improve the current Java memory model [28, 30, 18] especially in the case of execution on shared memory multiprocessor architectures with weak memory models, such as the SMP Alpha systems. More radical approaches include adding di erent categories of classes to Java including monitors [22] e.g. [5]) Gray et al. present a very complete survey of mobile agent systems [20] categorized by the programming languages they support. Agent systems supporting multiple programming languages include: Ara, D Agents, and Tacoma. Java based systems include Aglets [26] Concordia, Jumping Beans, and ....
D. F. Bacon, R. E. Strom, and A. Tarafdar. Guava: a dialect of Java without data races. ACM SIGPLAN Notices, 35(10):382-400, Oct. 2000.
....Flexible Alias Protection [34] uses a number of annotations to provide nested per object ownership, while permitting objects to refer to objects belonging to their (transitive) container as well as objects they own directly. A dynamically checked variant has also been proposed [32] Guava [4] uses a system of annotations on variables and types similar to Flexible Alias Protection, but motivated towards controlling synchronisation in concurrent Java programs, rather than managing aliasing per se. Con ned Types [8] use only one annotation to con ne objects inside Java packages. This ....
David F. Bacon, Robert E. Strom, and Ashis Tarafdar. Guava: A dialect of Java without data races. In OOPSLA'00 Conference Proceedings|Object-Oriented Programming Systems, Languages and Applications, volume 35, pages 382-400, New York, October 2000. ACM Press.
....execution of a program to dynamically detect potential races [18, 34] static race detection systems [35, 26, 17] and formal type systems that ensure race free The research was supported in part by DARPA AFRL Contract F33615 00 C 1692, NSF Grant CCR00 86154, and NSF Grant CCR00 63513. programs [9, 21, 19, 20, 3]. This paper presents a new static type system for multithreaded object oriented programs; this type system guarantees that any well typed program is free of data races. Every object in our system is associated with a protection mechanism that ensures that accesses to the object never create ....
....or 3) the variable contains the unique reference to the object. The type checker then uses these type speci cations to statically verify that a program uses objects only in accordance with their declared protection mechanisms. Unlike previously proposed type systems for race free programs [21, 19, 20, 3], our type system also lets programmers write generic code to implement a class, then create di erent objects of the class that have di erent protection mechanisms. We do this by introducing a way of parameterizing classes that lets programmers defer the protection mechanism decision from the time ....
[Article contains additional citation context not shown here]
D. F. Bacon, R. E. Strom, and A. Tarafdar. Guava: A dialect of Java without data races. In Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), October 2000.
....copy operations take place in the context of a synchronized update to mutex data, they execute atomically with respect to the threads sharing the data. It is possible to generalize this approach to handle a wider range of data structures, including linked data structures containing references [6]. Another approach is to provide an augmented type system that enables the programmer to explicitly identify shared data accessible to multiple threads [40, 41, 14] Each piece of shared data is associated with a mutual exclusion lock and 9 the type system enforces the constraint that the program ....
D. Bacon, R. Strom, and A. Tarafdar. Guava: A dialect of Java without data races. In Proceedings of the 15th Annual Conference on Object-Oriented Programming Systems, Languages and Applications, Portland, OR, Oct. 2000.
No context found.
Bacon, D. F., Strom, R. E., and Tarafdar, A., "Guava: A Dialect of Java without Data Races", In OOPSLA 2000 Conference Proceedings, pp. 382-400, October 2000.
....this is an appropriate programming model for a general purpose high level programming language. We have explored the possibility of defining a Java like language in which all access to shared objects is mediated by true monitors, which encapsulate sharable data and thereby prevent data races [4]. Related work [5, 6] has taken a different approach, retaining a shared memory model but requiring annotations that allow a program to be provably race free at compile time. 4. CONCLUSIONS Java s surprisingly rapid acceptance, fueled by the explosive growth of the internet, introduced a number ....
BACON, D. F., STROM, R. E., AND TARAFDAR, A. Guava: A dialect of Java without data races. In ACM Conference on Object-Oriented Systems, Languages, and Applications (Oct. 2000). SIGPLAN Notices, 35, 10, 382--400.
....For a multithreaded language, in some cases this may be done with compiler analysis. However, we believe that a better general purpose solution is to eliminate the possibility for unsynchronized simultaneous data access, as we have described in our work on Guava, a race free dialect of Java [2]. 5 Conclusions We have described bit level object oriented programming (BLOOP) a language extension that provides the efficiency and directness of VHDL or Verilog in manipulating bit level quantities, but also provides the object oriented abstraction capabilities of high level languages like ....
Bacon, D. F., Strom, R. E., and Tarafdar, A. Guava: A dialect of java without data races. In OOPSLA '00 Conference Proceedings: Object-Oriented Programming Systems, Languages, and Applications (Minneapolis, Minnesota, Oct. 2000).
No context found.
David F. Bacon, Robert E. Strom, and Ashis Tarafdar. Guava: a dialect of Java without data races. In OOPSLA Proceedings, pages 382--400, 2000.
No context found.
David F. Bacon, Robert E. Strom, and Ashis Tarafdar. Guava: A dialect of Java without data races. In Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), October 2000.
No context found.
D. F. Bacon, R. E. Strom, and A. Tarafdar. Guava: A dialect of Java without data races. In Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), October 2000.
No context found.
D. F. Bacon, R. E. Strom, and A. Tarafdar. Guava: A dialect of Java without data races. In Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), October 2000.
No context found.
D. F. Bacon, R. E. Strom, and A. Tarafdar. Guava: A dialect of Java without data races. In Proceedings of the ACM Conference on ObjectOriented Programming, Systems, Languages and Applications, pages 382--400, 2001.
No context found.
D. Bacon, R. Strom, and A. Tarafdar. Guava: A dialect of Java without data races. In Proc. Conf. Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'00), pages 382--400, Oct. 2000.
No context found.
D. Bacon, R. Strom, and A. Tarafdar. Guava: A dialect of Java without data races. In Proc. of the ACM Conf. on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2000.
No context found.
D. F. Bacon, R. E. Strom, and A. Tarafdar. Guava: A dialect of Java without data races. In Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), October 2000.
No context found.
D. Bacon, R. Strom, and A. Tarafdar. Guava: A dialect of Java without data races. In Proc. Conf. Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA'00), pages 382--400, Oct. 2000.
No context found.
David F. Bacon, Robert E. Strom, and Ashis Tarafdar. Guava: a dialect of Java without data races. In Proceedings of the 15th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, pages 382--400. ACM Press, 2000.
No context found.
D. Bacon, R. Strom, and A. Tarafdar. Guava: A dialect of Java without data races. In Proc. of the ACM Conf. on Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA 2000.
No context found.
D. Bacon, R. Strom, and A. Tarafdar. Guava: A dialect of Java without data races. In Proceedings of the 15th Annual Conference on Object-Oriented Programming Systems, Languages and Applications, Portland, OR, Oct. 2000.
No context found.
D. Bacon, R. Strom, and A. Tarafdar. Guava: A dialect of Java without data races. In ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications, pages 382--400, Minneapolis, MN, Oct. 2000.
No context found.
David Bacon, Robert Strom, and Ashis Tarafdar. Guava: A dialect of Java without data races. In ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications, pages 382--400, Minneapolis, MN, October 2000.
No context found.
David F. Bacon, Robert E. Strom, and Ashis Tarafdar. Guava: A dialect of Java without data races. In Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), October 2000.
No context found.
David F. Bacon, Robert E. Strom, and Ashis Tarafdar. Guava: A dialect of Java without data races. In Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), October 2000.
No context found.
David F. Bacon, Robert E. Strom, and Ashis Tarafdar. Guava: a dialect of Java without data races. In Proceedings of Object-Oriented Programming Systems, Lanuages, and Applications, 2000.
No context found.
D. F. Bacon, R. E. Strom, and A. Tarafdar. Guava: A dialect of Java without data races. In Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), October 2000.
No context found.
D. F. Bacon, R. E. Strom, and A. Tarafdar. Guava: A dialect of Java without data races. In Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), October 2000.
No context found.
D. F. Bacon, R. E. Strom, and A. Tarafdar. Guava: A dialect of Java without data races. In Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA), October 2000.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC