Posters and Demos


Poster presenters will be available to discuss their posters during the conference reception on Wednesday evening.

Demonstrations of the latest research prototypes will occur in two different formats during the conference:

POSTERS
Flexible Static Semantic Checking Using First-Order Logic
Experimental Software Schedulability Estimation For Varied Processor Frequencies
Error Propagation Analysis using UML Architecture Specifications
The Role of Trust in Software Outsourcing

DEMONSTRATIONS
Tuesday 10:30-12:00: Tools for Software Development
XVCL - XML-based Variant Configuration Language
Architecture Level Risk Assessment Tool Based on UML Specifications
CLIME: An Environment for Constrained Evolution
Tuesday 1:30-3:00: Support for JAVA Programming
Java Program Analysis Projects in Osaka University: Aspect-Based Slicing System (ADAS) and Ranked-Component Search System (SPARS-J)
JIVE: Visualizing Java in Action
FEAT: A Tool for Locating, Describing, and Analyzing Concerns in Source Code
Tuesday 3:30- 5:00: Visual Aids and Tools
Embedded Architect: A Tool for Early Performance Evaluation of Embedded Software
An Effective Layout Adaptation Technique for a Graphical Modeling Tool
Source Viewer 3D (sv3D) - A Framework for Software Visualization
Wednesday 1:30-3:00: Architectures and Tools
DRT: A Tool for Design Recovery of Interactive Graphical Applications
Trustworthy and Sustainable Operations in Marine Environments
xChek: A Model Checker for Multi-Valued Reasoning
 
Wednesday Reception: 5:00 - 6:30
The demonstrations listed above will all be repeated,
and the following demonstrations will also be given, at the reception.
A Software Process Scheduling Simulator
AGENDA Tool Set for Testing Relational Database Applications
Eclipse Open Source Platform


Poster Abstracts

Flexible Static Semantic Checking Using First-Order Logic

Shimon Rura, Williams College
Barbara Staudt Lerner, Williams College, lerner@cs.williams.edu

We present a static semantic checker for Little-JIL that is implemented by defining language semantics and coding guidelines as declarative assertions over the structure of a program. These assertions are written in first-order logic and input to xlinkit, a constraint checker, to produce an executable semantic checker. Our checker reports problems like linguistic restrictions, potential race conditions, lost data, and infinite recursion. The checker's architecture, which keeps rules separate from verification and reporting procedures, makes it easy to extend the checker with new anomaly detection rules and to adjust existing rules if language features change. Further information.


Experimental Software Schedulability Estimation For Varied Processor Frequencies

Sampsa Fabritius, Nokia Mobile Phones, Sampsa.Fabritius@nokia.com
Raimondas Lencevicius, Nokia Research Center, Raimondas.Lencevicius@nokia.com
Edu Metz, Nokia Research Center, Edu.Metz@nokia.com
Alexander Ran, Nokia Research Center, Alexander.Ran@nokia.com

The poster describes a new approach to experimentally estimate the application schedulability for various processor frequencies. We use additional workload generated by an artificial high priority routine to simulate the frequency decrease of a processor. Then we estimate the schedulability of applications at different frequencies. The results of such estimation can be used to determine the frequencies and control algorithms of dynamic voltage scaling/dynamic frequency scaling (DVS/DFS) implementations. The poster presents a schedulability problem that is the basis for DVS/DFS applicability, the proposed schedulability estimation method, its analysis and evaluation. Further information.


Error Propagation Analysis using UML Architecture Specifications

D. M. Nassar, West Virginia University
W. AbdelMoess, West Virginia University
M. Shereshevsky, West Virginia University
N. Gradetsky, West Virginia University
H. H. Ammar, West Virginia University
ammar@csee.wvu.edu
Bo Yu, New Jersey Institute of Technology
S. Bogazzi, New Jersey Institute of Technology
A. Mili, New Jersey Institute of Technology mili@oak.njit.edu

In this work, we introduce an information theoretic approach for error propagation analysis using information about components and connectors of software systems that we can derive from their UML architecture specifications. We apply our analytical error propagation analysis on a medium-size real-time command and control case study to estimate the probabilities of error propagation between components of this system. We conduct a controlled fault injection experiment to obtain empirical estimates of the error propagation probabilities between components of that system. We perform a correlation study between analytical and empirical error propagation data to validate our analytical approach. Further information.


The Role of Trust in Software Outsourcing

Nilay Oza, University of Hertfordshire
Tracy Hall, University of Hertfordshire
Austen Rainer, University of Hertfordshire

The poster will show the role of trust in software outsourcing arrangements and present a model to identify the significance of trust in software outsourcing. The main objective of this poster is to provoke discussion amongst researchers in this area. We hope this discussion will help in critically evaluating software engineering collaborations.


Demo Abstracts

XVCL - XML-based Variant Configuration Language

Stan Jarzabek, National University of Singapore, stan@comp.nus.edu.sg
Hongyu Zhang, National University of Singapore, zhanghy@comp.nus.edu.sg
Weishan Zhang, National University of Singapore, zhangws@comp.nus.edu.sg
Paul Bassett, Canadian Information Processing Society National
Soe Myat Swe, Singapore Engineering Software Pte Ltd, soemyatswe@yahoo.com

XVCL (XML-based Variant Configuration Language) is a meta-programming technique and tool that provides effective reuse mechanisms. XVCL blends with contemporary programming paradigms and complements other design techniques. XVCL uses "composition with adaptation" rules to generate a specific program from generic, reusable meta-components. Despite its simplicity, XVCL can effectively manage a wide range of program variants from a compact base of meta-components, structured for effective reuse. Applications of XVCL include design of reusable program components, implementing product line architectures, design of compact, non-redundant, therefore, easy to maintain programs, and managing variants in multiple versions of software documents and models. Further information.

In addition to demonstrations at the reception, a formal presentation is scheduled for 10:30 - 12:00 Tuesday, May 6.

Architecture Level Risk Assessment Tool Based on UML Specifications

Hany H. Ammar, West Virginia University, Ammar@csee.wvu.edu
Katerina Goseva-Popstojanova, West Virginia University, Katerina@csee.wvu.edu
Ahmed Hassan, West Virginia University, hassan@csee.wvu.edu
Walid Abdelmoez, West Virginia University, rabie@csee.wvu.edu
Ajith Guedem, West Virginia University, Guedem@csee.wvu.edu
Tianjian Wang, West Virginia University, twang@csee.wvu.edu

Our demonstration presents a prototype tool called Architecture-Level Risk Assessment Tool(ARAT) based on the risk assessment methodology we developed. The ARAT provides risk assessment based on measures obtained from Unified Modeling Language (UML) artifacts. This tool can be used in the design phase of the software development process. It estimates dynamic metrics and automatically analyzes the quality of the architecture to produce architectural-level software risk assessment

In addition to demonstrations at the reception, a formal presentation is scheduled for 10:30 - 12:00 Tuesday, May 6.


CLIME: An Environment for Constrained Evolution

Steven P. Reiss, Brown University, spr@cs.brown.edu
Christina M. Kennedy, Brown University
Tom Wooldridge, Brown University
Shriram Krishnamurthi, Brown University

We are building a software development environment that uses constraints to ensure the consistency of the different artifacts associated with software. This approach to software development makes the environment responsible for detecting most inconsistencies between software design, specifications, documentation, source code, and test cases. The environment provides facilities to ensure that these various dimensions remain consistent as the software is written and evolves. The environment works with the wide variety of artifacts typically associated with a large software system. It handles both the static and dynamic aspects of software. Moreover, it works incrementally so that consistency information is readily available to the developer as the system changes. The demonstration will show this environment and its capabilities.

In addition to demonstrations at the reception, a formal presentation is scheduled for 10:30 - 12:00 Tuesday, May 6.


Java Program Analysis Projects in Osaka University: Aspect-Based Slicing System (ADAS) and Ranked-Component Search System (SPARS-J)

Reishi Yokomori, Osaka University
Takashi Ishio, Osaka University
Tetsuo Yamamoto, Japan Science and Technology Corporation
Makotot Matsushita, Osaka University
Shinji Kusumoto, Osaka University
Katsuro Inoue, Osaka University

In our research demonstration, we show two development support systems for Java programs. One is an Aspect-oriented Dynamic Analysis and Slice calculation system named ADAS, and another is a Software Product archiving, Analyzing, and Retrieving System for Java named SPARS-J.ADAS supports debugging tasks for Java programs based on program slicing technique, and SPARS-J provides a retrieval result with the evaluation value based on actual use relations among components. Further details.

In addition to demonstrations at the reception, a formal presentation is scheduled for 1:30 - 3:00 Tuesday, May 6.


JIVE: Visualizing Java in Action

Steven P. Reiss, Brown University, spr@cs.brown.edu

Dynamic software visualization should provide a programmer with insights as to what the program is doing. Most current dynamic visualizations either use program traces to show information about prior runs, slow the program down substantially, show only minimal information, or force the programmer to indicate when to turn visualizations on or off. We have developed a dynamic Java visualizer that provides a view of a program in action with low enough overhead that it can be used almost all the time by programmers to understand what their program is doing while it is doing it.

In addition to demonstrations at the reception, a formal presentation is scheduled for 1:30 - 3:00 Tuesday, May 6.


FEAT: A Tool for Locating, Describing, and Analyzing Concerns in Source Code

Martin P. Robillard, University of British Columbia
Gail Murphy, University of British Columbia

The FEAT tool supports locating, describing, and analyzing the code implementing a one or more concerns in a Java system. FEAT is developed as a plugin for the Eclipse Platform. With the FEAT plugin activated, programmers can use the integrated development environment as usual, to browse and modify code, perform searches, etc. However, with FEAT, a user can query the relationships between different elements of interest (such as fields or methods), and to capture elements and relations relevant to a task in a concern representation. The demonstration will consist in performing part of a change task on a Java program with the help of FEAT. The FEAT Tool.

In addition to demonstrations at the reception, a formal presentation is scheduled for 1:30 - 3:00 Tuesday, May 6.


Embedded Architect: A Tool for Early Performance Evaluation of Embedded Software

Jeffry T. Russell, University of Texas at Austin
Margarida F. Jacome, University of Texas at Austin

Embedded Architect is a design automation tool that embodies a static performance evaluation technique to support early, architecture-level design space exploration for component-based embedded systems. A static control flow characterization, called an evaluation scenario, is specified based on an incremental refinement of software source code, from which a pseudo-trace of operations is generated. In combination with architecture mapping and several component parameters, a software performance metric is estimated.

In addition to demonstrations at the reception, a formal presentation is scheduled for 3:30 - 5:00 Tuesday, May 6.


An Effective Layout Adaptation Technique for a Graphical Modeling Tool

Christian Seybold, University of Zurich, seybold@ifi.unizh.ch
Martin Glinz, University of Zurich, glinz@ifi.unizh.ch
Silvio Meier, University of Zurich, smeier@ifi.unizh.ch
Nancy Merlo-Schett, University of Zurich, schett@ifi.unizh.ch

Editing graphic models always entails layout problems. Inserting and deleting items requires tedious manual work for shifting and rearranging items in the diagram layout. Existing layout generation algorithms rearrange diagrams without preserving the overall visual appearance of the diagram. We have developed a technique which automatically expands or contracts a diagram layout when items are inserted or removed while preserving its overall shape, i.e. the positions of the items relative to each other. Our technique has been implemented in a prototype tool. We are using it not just for simplifying editing, but primarily for implementing an aspect-oriented visualization concept. Further details.

In addition to demonstrations at the reception, a formal presentation is scheduled for 3:30 - 5:00 Tuesday, May 6.


Source Viewer 3D (sv3D) - A Framework for Software Visualization

Jonathon Maletic, Kent State University, jmaletic@cs.kent.edu
Andrian Marcus, Kent State University, amarcus@cs.kent.edu
Louis Feng, Kent State University, lfeng@cs.kent.edu

Source Viewer 3D is a software visualization application-framework that uses a 3D metaphor to represent software system and analysis data. The 3D metaphor is based on the SeeSoft pixel representation. It extends the original metaphor by rendering the visualization in a 3D space. Object-based manipulation methods and simultaneous alternative mappings are available to the user.

sv3D generates specific software visualization applications based on available analysis tools. The input format and mappings are defined in a XML file. In its current form, sv3D supports mapping and representation of 6 types of data in the 3D space. Further information.

In addition to demonstrations at the reception, a formal presentation is scheduled for 3:30 - 5:00 Tuesday, May 6.


DRT: A Tool for Design Recovery of Interactive Graphical Applications

Keith Chan, University of New South Wales, kchan@cse.unsw.edu.au
Annie Chen, University of New South Wales, anniec@cse.unsw.edu.au
Zhi Cong Leo Liang, University of New South Wales, leozc@cse.unsw.edu.au
Amir Michail, University of New South Wales, amichail@cse.unsw.edu.au
Minh Hoai Nguyen, University of New South Wales, mhng237@cse.unsw.edu.au
Nicholas Seow, University of New South Wales, nickseow@cse.unsw.edu.au

DRT is a design recovery tool for interactive graphical applications running under the X Window System. The tool automatically captures actions performed while using such an application. Functions particularly relevant to each action are identified. Moreover, the action itself is described visually from a fragment of the application display. One can search and browse these actions to learn about the design of an application. Further details.

In addition to demonstrations at the reception, a formal presentation is scheduled for 1:30 - 3:00 Wednesday, May 7.


Trustworthy and Sustainable Operations in Marine Environments

Martin Fredriksson, Blekinge Institute of Technology, martin.fredriksson@bth.se
Rune Gustavsson, Blekinge Institute of Technology, rune.gustavsson@bth.se

In order to address challenges and opportunities of engineering information systems for network-centric warfare, we have developed a prototype for trustworthy and sustainable operations in marine environments (TWOSOME). The system developed addressed qualities such as information fusion, target acquisition, and self-organization in open computational systems; comprised of distributed services. As such, the system prototype executes on a service-oriented layered architecture for communicating entities (SOLACE) and, furthermore, different perspectives of the prototype are visualized by means of a distributed interaction system for complex entity relation networks (DISCERN). Further information.

In addition to demonstrations at the reception, a formal presentation is scheduled for 1:30 - 3:00 Wednesday, May 7.


xChek: A Model Checker for Multi-Valued Reasoning

Steve Easterbrook, University of Toronto
Marsha Chechik, University of Toronto
Benet Devereux, University of Toronto
Arie Gurfinkel, University of Toronto
Albert Lai, University of Toronto
Victor Petrovykh, University of Toronto
Anya Tafliovich, University of Toronto
Christopher Thompson-Walsh, University of Toronto

XChek is a multi-valued symbolic model checker that works for any member of a large class of multi-valued logics. Multi-valued model checking generalizes classical model checking and is useful for analyzing models where there is uncertainty (e.g. missing information) or inconsistency (e.g. disagreement between different views). Explicit modeling of uncertainty and disagreement is supported by providing additional truth values in the logic. Our modeling language is based on a generalization of Kripke structures, where both propositions and state transitions may take any truth value of a given logic. Properties are expressed in XCTL, our multi-valued extension of CTL. Further information. Email contact: xchek@cs.toronto.edu

In addition to demonstrations at the reception, a formal presentation is scheduled for 1:30 - 3:00 Wednesday, May 7.


A Software Process Scheduling Simulator

Frank Padberg, University of Karlsruhe, padberg@ira.uka.de

We show how to use process simulation to support software project managers in scheduling. We present a discrete-time simulator which is tailored to the dynamics of software projects and explicitly takes a scheduling strategy as input. The simulator makes it easy for a manager to experiment with different scheduling strategies for his next software project. As an example, we use the simulator to study the performance of different list policies for a small sample project. The results show that the scheduling strategy has a strong impact on the average completion time of the sample project.

Demonstrations will be given at the Wednesday reception.


AGENDA Tool Set for Testing Relational Database Applications

David Chays, Polytechnic University, dchays@cis.poly.edu
Yuetang Deng, Polytechnic University, ytdeng@cis.poly.edu

Database systems play an important role in nearly every modern organization, yet relatively little research effort has focused on how to test them. AGENDA, A (test) GENerator for Database Applications, is a research prototype tool set for testing DB application programs. In testing such applications, the states of the database before and after execution play an important role, along with the user's input and system output. AGENDA components populate the database, generate inputs, and check aspects of the correctness of output and new DB state.

Demonstrations will be given at the Wednesday reception.

Eclipse Open Source Platform

Jim D'Anjou, IBM Corporation, danjou@us.ibm.com

Eclipse is an open source tool integration platform. In other words, it can work seamlessly with other application development tools you need to use to get your job done. Eclipse contains a Java programming development environment that not only offers a high degree of productivity and flexibility but that also, you can say, "Plays well with others." Through the programming interfaces in Eclipse, the door is open for the integration of multiple tools. Eclipse can run on a variety of different operating systems and is language neutral. It welcomes tools for building applications in Java, C, C++, HTML, and so on. As an open source project, you get all the source code, and best of all, it's free.

A formal presentation is scheduled for the Wednesday reception.

You can also learn more at the Eclipse Technology Exchange Reception on Thursday May 8th at 5:30 in Grand Ballroom 2.