We are interested in static analysis of Java classes with the goal of discovering the preconditions under which a certain program point within a method may be reached, taking into account the effects of previous metho...
详细信息
ISBN:
(纸本)1595930310
We are interested in static analysis of Java classes with the goal of discovering the preconditions under which a certain program point within a method may be reached, taking into account the effects of previous method calls on an object of that class. The information pertinent to this computation is represented as the object's typestate, which is a finite set of relevant predicates that abstract the object's actual state. The execution of a method depends on an object's current typestate as well as other input parameters;the object may transition to a different typestate during the method's execution. It is common for objects to contain references to other objects. In such cases, an object's behavior may depend on, in addition to its own state, the state of objects it has a reference to. The main contribution of this paper is to discover relevant object typestates, as well as transitions between typestates, in the presence of inter-object references. Our analysis first performs a combined predicate discovery and predicate abstraction to derive "boolean" versions of Java classes given as input. It then uses abstract interpretation to compute the typestate transitions caused by method calls. A novel aspect of this work is that a set of Java classes is analyzed in isolation, without any client program being provided. To do this, the analysis simulates all possible client's actions via a synthetic heap, all of whose interesting configurations are explored by our analysis. The information we compute can be put to use in several ways. It can be used in checking whether a given client code erroneously uses a set of Java classes in a way that can throw an exception. It can also be used in creating test drivers for Java classes in order to exercise all relevant code paths in the corresponding methods. Copyright 2005 ACM.
This research abstract outlines the work I plan to do as part of my PhD. In particular, I propose to devise a practical way of integrating ownership control into existing programminglanguages in a way that will help ...
详细信息
ISBN:
(纸本)1581138334
This research abstract outlines the work I plan to do as part of my PhD. In particular, I propose to devise a practical way of integrating ownership control into existing programminglanguages in a way that will help with adoption of ownership in the general programming community.
It's a pleasure to welcome you to oopsla 2004, the 19th Annual conference on object-orientedprogramming, systems, languages, and applications. oopsla is the premier forum for practitioners, researchers, and stude...
详细信息
ISBN:
(纸本)1581138334
It's a pleasure to welcome you to oopsla 2004, the 19th Annual conference on object-orientedprogramming, systems, languages, and applications. oopsla is the premier forum for practitioners, researchers, and students in diverse disciplines whose common thread is object technology. From its inception, oopsla has served as an incubator for advanced technologies and practices. Dynamic compilation and optimization, patterns, refactoring, aspect-orientedprogramming, and agile methods (to name a few) all have oopsla roots. oopsla 2004 continues that tradition. Researchers and practitioners from around the world have come to showcase their latest work. Presentations from invited speakers dovetail with technical papers, practitioner reports, expert panels, demonstrations, formal and informal educational symposia, workshops, and diverse tutorials from world-class lecturers. The popular Onward! track presents out-of-the-box thinking at the forefront of computing. You can discuss late-breaking results with the researchers themselves at poster sessions, which culminate in the Third Annual SIGPLAN Student Research Competition. DesignFest provides hands-on design experience in an expert-mentored environment. And again this year, we're privileged to host the ACM Turing Lecture. Alan Kay, Turing laureate for 2003, received the prestigious award "for pioneering many of the ideas at the root of contemporary object-orientedprogramminglanguages, leading the team that developed Smalltalk, and for fundamental contributions to personal computing." It's especially fitting that Dr. Kay deliver the Turing Lecture at oopsla.
Interactive graphical applications implicitly contain a large number of constraints - relationships between objects, such as widgets and the underlying model they control. Encapsulation, a fundamental principle of obj...
详细信息
ISBN:
(纸本)1581138334
Interactive graphical applications implicitly contain a large number of constraints - relationships between objects, such as widgets and the underlying model they control. Encapsulation, a fundamental principle of object-orientedprogramming, is only guaranteed in a very limited sense by most object-orientedlanguages. Constrained-Java provides a constraint system built upon stronger encapsulation guarantees which allows constraints to depend on entire aggregated objects.
It's a pleasure to welcome you to oopsla 2004, the 19th Annual conference on object-orientedprogramming, systems, languages, and applications. oopsla is the premier forum for practitioners, researchers, and stude...
详细信息
ISBN:
(纸本)1581138334
It's a pleasure to welcome you to oopsla 2004, the 19th Annual conference on object-orientedprogramming, systems, languages, and applications. oopsla is the premier forum for practitioners, researchers, and students in diverse disciplines whose common thread is object technology. From its inception, oopsla has served as an incubator for advanced technologies and practices. Dynamic compilation and optimization, patterns, refactoring, aspect-orientedprogramming, and agile methods (to name a few) all have oopsla roots. oopsla 2004 continues that tradition. Researchers and practitioners from around the world have come to showcase their latest work. Presentations from invited speakers dovetail with technical papers, practitioner reports, expert panels, demonstrations, formal and informal educational symposia, workshops, and diverse tutorials from world-class lecturers. The popular Onward! track presents out-of-the-box thinking at the forefront of computing. You can discuss late-breaking results with the researchers themselves at poster sessions, which culminate in the Third Annual SIGPLAN Student Research Competition. DesignFest provides hands-on design experience in an expert-mentored environment. And again this year, we're privileged to host the ACM Turing Lecture. Alan Kay, Turing laureate for 2003, received the prestigious award "for pioneering many of the ideas at the root of contemporary object-orientedprogramminglanguages, leading the team that developed Smalltalk, and for fundamental contributions to personal computing." It's especially fitting that Dr. Kay deliver the Turing Lecture at oopsla.
JIVE represents a novel approach to runtime visualization and analysis of Java programs. It facilitates program understanding and interactive debugging, featuring: multiple, customizable views of object structure;repr...
详细信息
ISBN:
(纸本)1581138334
JIVE represents a novel approach to runtime visualization and analysis of Java programs. It facilitates program understanding and interactive debugging, featuring: multiple, customizable views of object structure;representation of execution history via sequence diagrams;interactive queries on runtime behavior;forward and reverse interactive execution. JIVE uses standard JVM and compilers.
As bases for object-orientation, both class-based and prototype-based organization have limitations. We argue that roles have significant benefits as a foundation for organizing objects. We further argue that these be...
详细信息
ISBN:
(纸本)1581138334
As bases for object-orientation, both class-based and prototype-based organization have limitations. We argue that roles have significant benefits as a foundation for organizing objects. We further argue that these benefits can be realised most flexibly using logic meta-programming. Additional benefits from this approach are to reduce redundancy and subsume aspects.
暂无评论