Posters
| Room: Renaissance Ballroom | Date: Oct 20, 2008 | Time: 17:30 - 19:30 |
| Chairs | Nadyne Mielke Microsoft | Olaf Zimmermann IBM Research GmbH |
OOPSLA Posters provide an excellent forum for authors and conference attendees to discuss work on the horizon of research and practice. Posters showcase introduce interesting, innovative work or discuss late-breaking results. The Poster session, held during the Monday Welcome Reception, is highly interactive. It allows interested participants to engage in discussions about the work presented by the authors.
Posters will on display (but unattended) in the OOPSLA Courtyard from Tuesday through Thursday.
Worked Examples for Sound OO Pedagogy: The Seventh "Killer Examples" Workshop
| Adrienne Decker University at Buffalo, SUNY |
| Carl Alphonce University at Buffalo, SUNY |
| Jürgen Börstler Umeå University |
| Michael Caspersen Univeristy of Aarhus |
Abstract
This year's theme of the "killer examples" workshop is "worked examples"; examples, emphasizing OO principles, that can be started in the classroom and then finished by the students on their own. The poster will summarize the workshop results and offer the OOPSLA community a forum for the exchange of experiences.
Hierarchical Inter-Object Traces for Specification Mining
| David Lo Singapore Management University |
| Shahar Maoz The Weizmann Institute of Science |
Abstract
Major challenges of dynamic analysis approaches to specification mining include scalability over long traces as well as comprehensibility and expressivity of results. We present a novel use of object hierarchies over inter-object traces as an abstraction/refinement mechanism enabling scalable, incremental, top-down mining of scenario-based specifications.
Compile-time Type-checking for Custom Type Qualifiers in Java
| Matt M. Papi Massachusetts Institute of Technology |
| Mahmood Ali Massachusetts Institute of Technology |
| Michael D. Ernst Massachusetts Institute of Technology |
Abstract
The Checker Framework enables adding custom type qualifiers to the Java language in a backward-compatible way. The Checker Framework allows programmers to write type qualifiers in their programs and to create compiler plug-ins that enforce the semantics of these qualifiers at compile time. Using the plug-ins, programmers can improve the quality of their code without disturbing their development workflow. Our case studies demonstrate that the Checker Framework is scalable, easy to use, and effective in detecting and preventing errors. It has been used to detect real errors in null pointer dereferencing, side effects, equality tests, and initialization, among others.
WebDSL - A Domain-Specific Language for Dynamic Web Applications
| Danny M. Groenewegen Delft University of Technology |
| Zef Hemel Delft University of Technology |
| Lennart C. L. Kats Delft University of Technology |
| Eelco Visser Delft University of Technology |
Abstract
WebDSL is a domain-specific language for the implementation of dynamic web applications with a rich datamodel. It consists of a core language with constructs to define entities, pages and business logic. Higher-level abstractions, modeling access control and workflow, are defined in a modular fashion as extensions of the core language.
Testing with Concepts and Axioms in C++
| Anya Helene Bagge University of Bergen |
| Valentin David University of Bergen |
| Magne Haveraaen University of Bergen |
Abstract
Unit testing is a popular way of increasing software reliability. Axioms, known from program specification, allow functionality to be described as rules or equations. We show a method and prototype tool for using the proposed concept and axiom features of the upcoming C++0x standard for automated unit testing.
Interactive Exploration of Compacted Visualizations for Understanding Behavior in Complex Software
| Elizabeth L. Murnane Architexa |
| Vineet Sinha Architexa |
Abstract
In this poster we present Chrono, a tool that creates sequence diagram based visualizations. Since the diagrams produced by traditional sequence diagramming tools become large and unmanageable when dealing with complex code bases, Chrono focuses on removing less relevant information, condensing diagram components, and allowing for interactive exploration.
Novel Language Syntax to Enhance Readability - White Space, Parameter Sets, & Control Structures
| Clifton Kussmaul Muhlenberg College |
Abstract
This poster describes the preliminary status of a project to investigate novel syntax features to enhance programming language readability. In particular, we present sample syntax for the use of white space, multiple parameter sets, infix object specification, and programmer-defined control structures. We seek feedback and constructive criticism.
Visualizing the Word Structure of Java Class Names
| Craig Anslow Victoria University of Wellington |
| James Noble Victoria University of Wellington |
| Stuart Marshall Victoria University of Wellington |
| Ewan Tempero University of Auckland |
Abstract
Large amounts of software have been written since the Java language was created. There is little known about the word structure Java within class names. We have created visualizations of words used in class names from the Java API specification and 91 open-source Java applications. Our visualizations will help expose which words are used in practice.
Understanding Code Architectures via Interactive Exploration and Layout of Layered Diagrams
| Vineet Sinha Architexa, Inc. |
| Elizabeth L. Murnane Architexa, Inc. |
| Scott W. Kurth Accenture Technology Labs |
| Edy S. Liongosari Accenture Technology Labs |
| Rob Miller MIT CSAIL |
| David Karger MIT CSAIL |
Abstract
Visualization tools that target helping developers understand software have typically had visual scalability limitations, requiring significant input before providing useful results. In contrast, we present Strata, which has been designed to actively help users by providing layered diagrams. The defaults used are based on the package structure, and user interactions can allow for overriding these defaults and focusing on relevant parts of the codebase.
eMoose - A Memory Aid for Software Developers
| Uri Dekel Carnegie Mellon University |
Abstract
Developers rely on knowledge of project artifacts to avoid usage errors and on knowledge of their activities to maintain orientation and trace decisions. Unfortunately, human memory is unreliable, and existing documentation practices are costly and limited in their ability to draw attention to preserved knowledge. We propose a unified memory aid aimed at addressing these problems using episodic and contextual presentations of lightweight subjective knowledge elements supplied by the developers and objective events elicited from IDE monitors. In particular, directives on call targets are pushed into the attention of client code authors.
Scalable, Expressive, and Context-Sensitive Code Smell Display
| Emerson Murphy-Hill Portland State University |
Abstract
Code smell detectors can potentially help programmers identify opportunities to improve the design of software through refactoring. Unfortunately, the user interfaces to existing detectors often do not align with how programmers typically refactor. I argue the importance of scalability, expressivity, and context-sensitivity when displaying smells, and present a prototype tool that embodies these properties.
Alias Count Facilitate Ownership Transfer
| Pradeep kumar Duraisamy S Anna University |
Abstract
Existing ownership system forces fixed ownership, whereby an object cannot change its owner at runtime. Transferring ownership dynamically may produce security holes like reference exposure, dangling pointer, etc., that may affect the predestined securities. Here we focus on representing alias bounds on objects which helps in ownership transfer.
Arbitrary Non-Contiguous Pieces of Computation: a New Join Point Model for Aspect-Oriented Programming
| Hossein Sadat-Mohtasham University of Alberta |
Abstract
Aspect-oriented mechanisms are characterized by their join point models, which define join points (meaningful points in a program's representation), pointcuts (means of specifying a set of join points), and advice (means of affecting the bahaviour of selected join points). Dynamic join point models define join points as the meaningful points in program execution. Pointcuts select a set of join points of interest, each of which is selected and advised individually and independently. That is, the relationships between join points are not taken into account in join point selection and advice, except in a limited predefined way (e.g. cflow). However, there are natural situations in which join points should only be selected if they play a specific role in a defined relationship with other join points. We propose a new join point model that takes join point interrelationships into account and allows designation of arbitrary computations as join points.
Mining for Computing Skills
| Andrew Aken Southern Illinois University |
Abstract
This research utilizes web content mining to retrieve job ads for graduates of Computing degree programs, extract the skills listed in those job ads, and analyze the data to determine which skills are most prevalent in the job market and which combinations of skills are most in demand.
Preparing for C++0x
| Valentin David University of Bergen |
Abstract
C++0x brings us new features that extend the C++ language syntax. This requires new tools to parse and work with the language. However, a C++ front-end is non trivial to write from scratch. We use an extensible C++ front-end to add concepts.



