The Joint ACM SIGPLAN Student Research Competition and OOPSLA Poster Session
Chair: Laurie Williams
North Carolina State University, firstname.lastname@example.org
An exciting, new opportunity
The OOPSLA Poster Session has been extended to include the first ACM SIGPLAN Student Research Competition. The Poster Session is an excellent forum for presenting research in progress in order to obtain feedback from conference participants. The ACM SIGPLAN Student Research Competition shares the common goal of having students meet and interact with researchers so that both sides have the opportunity to learn of ongoing, current research. The Student Research Competition has the additional goal of the student gaining experience with both formal presentations and evaluations.
Student research submissions were reviewed by a committee. Ten students were chosen to participate in the competition. These students will discuss their work with competition judges (and conference attendees) during the regular Poster Session. The Poster session is used to evaluate the research on its quality, significance of the work, and the clarity of the informal discussion. Three semi-finalists chosen from this round of competition will present their research during a conference session. The Student Research Competition winners will be recognized prior to the keynote speaker, Bill Gates, on the last day of the conference.
Tuesday 17:30-19:30 Sheraton Hotel - Grand Ballroom
Thursday 12:00-13:30 Convention Ctr - Room 401
Friday 15:30-16:30 Convention Ctr - Exhibit Hall 4B
Towards Stable Software Analysis Patterns
Haitham Hamza, University of Nebraska- Lincoln
Software analysis patterns are believed to play a major role in reducing the cost and condensing
the time of software product lifecycles. However, there are several deficiencies with todays
analysis patterns. These deficiencies make it difficult to use analysis patterns as efficient
reusable artifacts. This poster discusses the status of todays analysis patterns. It also introduces
the novel concept of Stable Analysis Patterns. In addition, it introduces eight essential
properties to evaluate analysis pattern reusability.
Tool Support for Refactoring to Design Patterns
Carmen Zannier, University of Calgary
Using design patterns improves the maintainability of software systems. Applying patterns
often implies upfront design while Agile methods rely on software architecture to emerge. Our
work bridges this gap by applying refactoring towards patterns to improve software design. We
propose complex refactoring to J2EE design patterns and describe requirements of complex
refactorings and accompanying tool support.
A Tool for Ownership and Confinement Analysis of the Java Object Graph
Alex Potanin, Victoria University of Wellington
This poster presents a tool for the analysis of Java heap snapshots. The tool supports a flexible
query language to measure various aspects of the object graph related to the studies of
uniqueness, ownership, encapsulation and confinement. One of the applications of our tool was
the verification of the power law dependency in the distribution of incoming and outgoing
references to objects.
Extracting Implicit Contracts from .NET Libraries
Karine Arnout, ETH Zurich
Can libraries written without explicit support for Design by Contract in the language or the
method benefit from a-posteriori addition of contracts? To help answer this question, we
performed an empirical study of classes from the .NET Collections library, which doesnt use
Design by Contract, to search for unexpressed contracts.
Dawn - Must J2EE-Webapplications be Untestable
Christian Dedek, Orientation in Objects GmbH
We present a cookbook for the development of J2EE-Web applications. This cookbook aims at
the minimization of quality costs. It consists of procedures and guidelines in combination with a
toolset. The classical software lifecycle presents test as a single phase in the development
process. The cookbook presents testing as the motor of every other activity in development.
A Framework for Performance Management of Component Based Distributed Applications
Adrian Mos, Dublin City University
We propose the Component Performance Assurance Solutions (COMPAS) framework that can
be used during as well as after development to identify performance problems, suggest
corrections and predict performance in large-scale component-based distributed enterprise
systems. COMPAS consists of three interrelated modules: performance monitoring, UML
modelling and performance prediction.
Removing GC Synchronisation
Andy King, University of Kent at Canterbury
Synchronising and stopping threads in thread-intensive server applications in order to garbage
collect incurs significant overhead. We demonstrate how static escape analysis techniques may
be combined with novel GC architectures within a production JVM to allow threads to be
collected without synchronisation, even in the presence of dynamic class loading.
DPIT: A Patterns-based Tutorial for Teaching Object-Oriented Design
Tracy Lewis, Virginia Tech
We propose to develop and evaluate a prototype for an interactive OOD tutorial. With access to
a standalone tutorial, computer science faculty can avoid the long and difficult process of
revamping their highly-constrained curriculum sequence, but still ensure that students obtain
direct and intensive exposure to design concepts and skills.
Learning and Reuse in Visual Programming Environments: Simulation Builder for Teachers
Cheryl Seals, Virginia Tech
End User Programming has become a popular technique supporting novices in their day-to-day
activities. I am investigating supporting teachers in the Creation and Reuse of Educational
simulations. This research creates a framework for educational simulations, which will help
teachers create their own customized software in collaboration with their students.
A Protocol for Scalable Distributed Concurrency Services
Nirmit Desai, North Carolina State University
As researchers share computational resources, such as objects in large distributed environments,
it becomes difficult to achieve scalability of synchronization. Concurrency protocols currently
lack scalability. Our protocol enhances middleware concurrency services to provide scalability
of synchronization enabling resource sharing and computing with distributed objects in systems
with a large number of nodes.