The ACM SIGPLAN Student Research Competition

Student Research Poster Presentations at the Welcome Reception

Monday, 27 October – 17:30-19:30

Analyzing the Use of Interfaces in Large OO Projects

Philip Mayer, University of Hannover, pm@pmayer.net

Using partial interfaces, i.e. interfaces that cover only a subset of the total set of published methods of a class, has several advantages, but research shows they are only sparsely used. Therefore, we have created a metrics suite and tool support to assist the developer in using partial interfaces.

Development of a high level view of Java applications

Eric Bodden, University of Kent, Canterbury, UK, eric@bodden.de

This work is about the development of an abstract view for Java programs, supporting refactoring and debugging for rather large applications. The implementation is based on static method call graph analysis on bytecode incorporating third party packages like SOOT, JavaCC and OpenJGraph. The work leads to a browseable visual graph.

Metamodel Based Model Transformation Language

Aditya Agrawal, ISIS, Vanderbilt University, aditya.agrawal@vanderbilt.edu

Domain Specific Model Driven Architectures (DSMDA) rely on the use of MDA for a specific domain. For each DSMDA, a transformer is needed to map domain models to implementation models. This paper describes a high-level specification language and execution framework to formally capture and realize the behavior of model transformers.

A Language Based Formalism For Domain Driven Development

Wei Zhao, Computer and Information Sciences, University of Alabama at Birmingham, zhaow@cis.uab.edu

The evolution of programming languages has often been the driving force for the evolution of software development from the machine-centric to the application-centric. The 4th Generation Languages paradigm, languages defined directly by the composition of domain features, serves as the language-based formalism for the emerging Domain Driven Development paradigm.

A Framework for Using Component Redundancy for Self-Adapting and Self-Optimising Component-Based Enterprise Systems

Ada Diaconescu, Dublin City University, diacones@eeng.dcu.ie

We propose a framework that uses component redundancy for enabling self-adaptation, self-optimisation and self-healing capabilities in component-based enterprise software systems. Our framework is divided into three main logical tiers, operating in a feedback-loop manner: monitoring, evaluation and action.

Program Manipulation via Interactive Transformations

Marat Boshernitsan, University of California at Berkeley, maratb@cs.berkeley.edu

Changing program source code is complicated because many changes entail pervasive large-scale modifications. Developers use authoring and editing tools that are poorly suited to such maintenance tasks. We are creating a novel programming environment that lets the programmer describe source code manipulations in a more "natural" manner than is currently possible.

Issues on Building T++, a Tool for Web Application Development with C++

Antonio Terceiro, Federal University of Bahia, terceiro@im.ufba.br

As the demand for web applications grows, so does the demand for tools that support them. As a general rule, such tools extend general purpose programming languages, like Servlets/JSP does for JAVA, or define their own programming language, like PHP. But there is no established engine for web applications written with C++. This work presents technical challenges that were faced when developing T++, an engine that supports web application development with C++.

A Self-Optimizing Application Server Design for Enterprise Java Beans Applications

Mircea Trofin, Dublin City University, mtrofin@eeng.dcu.ie

We propose a self-optimizing application server design for EJB component technology. Optimizations are driven by the discovery of inter-component communication patterns and the application of corresponding container refactorings. Our solution attempts to address the impact the application server has on system performance.

Model Consistency in the Object Oriented Software Development Process

Gabriela Pérez, LIFIA, gperez@sol.info.unlp.edu.ar

Model Refinement is a relationship that relates two elements representing the same concept at different levels of abstraction. In UML, Refinement is described in an informal way. To avoid wrong model interpretations, we study a formalization of the refinement relation. This work provides an enhancement to the UML metamodel specification.