ICSE 2009: ICSE09
slide show picture of Vancouver
31st International
Conference on
31st International Conference on Software Engineering, Vancouver, Canada, May 16-24, 2009.   Sign up for announcements!

RSS feed image RSS Feed

Information for
Potential Conference

IBM Jazz Research Reception

5:30 PM - 6:30 PM (doors open at 5), Salons D&E

Please join us at the Jazz Research Reception -- all researchers, students, and software professionals are welcome to attend! Enjoy light refreshments, meet and mingle with researchers, and view demos and posters by researchers working with the Jazz platform! In addition, John Wiegand, the Chief Architect of IBM Rational where Jazz is developed, will tell us what is the future directions and possibilities on the Jazz "journey." Please join us (and bring others too!) and see what researchers are doing with Jazz!

Please visit the jazz site for additional details, or contact the organizer, Annie Ying (aying@us.ibm.com).

Projects Featured

Back to top

A Meta-Model Independent Model Repository for Collaborative Modelingwith the Jazz Development Platform

Authors: Andreas Rausch and Christian Bartelt
Affiliation: Technische Universitšt Clausthal, Germery

Abstract: Todayís software development projects have a huge demand for a comprehensive and integrated support in the team-based development of models. Since they typically rely on file-based version control systems such as CVS and assume that working with models does not differ from working with code, current solutions solve only one part of the problem. This paper addresses this gap between what is needed in practice and what is provided by existing tools. Based on the collaboration platform Jazz, a model repository prototype is developed that provides adequate versioning support and leverages the collaboration mechanisms provided by Jazz for concurrent model development. Especially the integration of concurrently developed models turned out to be a complex and collaborative task. The results of this investigation are integrated into the prototype yielding a model repository that supports team-based development to a considerable extent.

Back to top

AP Jazz - Integrating synchronous distributed project planning with executable acceptance test driven development for agile software teams

Authors: Frank Maurer , Shelly Park
Affiliation: University of Calgary, Canada

Abstract: Agile methods are moving into the mainstream of software development at the same time as the software industry sees more and more globally distributed teams. Agile teams follow an iterative, incremental and test-driven development approach. However, short iterations make it impractical for distributed teams to gather in the same room for project planning meetings. Remote stakeholders also find it difficult to communicate in a spatially separated environment. Tools that support distributed planning must allow for easy and intuitive creation and modification of digital planning artefacts. The goal of this Jazz-supported project is to link our synchronous AgilePlanner tool with the Jazz Teamserver to and to integrate acceptance test driven development with agile project management to support feature-oriented progress tracking.

Back to top

An Activity-Based Model of a Programmerís Knowledge About a Software System

Authors: Jingwen Ou, Thomas Fritz and Gail C. Murphy †
Affiliation: University of British Columbia, Canada

Abstract: Development environments are capable of displaying an overwhelming amount of information to a programmer. Each day, programmers exchange large amounts of this information, creating a context in which programmers are dealing with an overwhelming amount of shifting and evolving information. We have been investigating whether having a model of each individual programmerís knowledge of the system can help programmers cope with this information overload. Our model assigns a degree-of-knowledge value for each programmer to each item of information in the environment based on the programmerís authorship and activity with the information. These degree-of-knowledge values can be used to scope information shown to a programmer and can be used to help support collaboration between programmers. We will describe our model, initial weightings to the factors contributing to authorship and activity we have determined through an empirical study and some initial use cases we have experimented within in an industrial setting.

Back to top

Applying Jazz Processes for Implementing the Software Enterprise

Authors: Kevin Gary and Harry Koehnemann
Affiliation: Arizona State University at the Polytechnic Campus

Abstract: Software Engineering education struggles with identifying appropriate tools to support both modern pedagogy and industry-driven best practices. IBMís new Jazz platform, with the Eclipse-based TeamConcert client, offers software engineering educators a solution. Jazz supports industry best practices through robust configuration and change management facilities, collaboration capabilities, integrated dashboard reporting, and extensible process modeling and enactment services. The extensible architecture of the Jazz platform means these same facilities may be used to support new pedagogical approaches to teaching and learning software engineering in the classroom. We propose a Jazz Innovation project that extends the Jazz platform to support modern pedagogy while immersing students in relevant industry best practices. The main objective of this project is to improve software engineering education through the Jazz platform. We will show our current application of Jazz to Software Enterprise projects and pedagogy, and demo a new plugin to support a team-oriented collaborative Wideband Delphi estimation process.

Back to top

Assisting Code Review Tasks by Identifying and Summarizing Systematic Code Changes

Authors: Miryung Kim
Affiliation: University of Texas at Austin

Abstract: Software engineers often inspect program differences when reviewing others' code changes or when writing check-in comments. Existing program differencing tools generally try to help programmers by returning numerous lower-level changes. In many cases, this collection of lower-level changes has a latent structure because the programmer modified crosscutting concerns or applied refactorings to the program. Existing differencing tools do not identify regularities in code changes created by such high-level change operations; thus, they cannot effectively group related code changes or detect inconsistencies in code changes, leaving it to the programmer to discover potential bugs. To overcome these limitations and to complement existing differencing approaches, we designed Logical Structural Diff (LSDiff) to concisely infer systematic changes and report exceptions that deviate from these inferred changes.

Back to top

Chat to Avoid Broken Builds

Authors: Daniela Damian and Adrian Schroeter
Affiliation: University of Victoria, Canada

Abstract: Effective coordination within a project is one key factor to successful software projects. As software systems grow larger over time, it becomes more unlikely that a single person can keep the overview over such a system. Often it is challenging enough to keep track of the component one is working on. Changes made by team members within the component you are working on or changes to APIís you use can cause problems if they are not communicated properly. With a growing component, a growing team, and a growing usage of APIís such miss communications can occur more frequently and cause severe problems, such as broken builds or bugs in software release.

While research shows that communication structures can predict the outcome of an integration build, this project takes a step further by making recommendations about who should collaborate together. By leveraging information about artifact dependencies and communication among team members, in this project we develop a recommender tool that indicates which gaps between dependencies and communication should be resolved to ensure a successful project. In addition to developers, the tools also intends to support managers to spot malicious patterns that need to be broken and best practices that should be fostered.

Back to top

Enhancing Jazz Collaboration Platform through integration of Congruence

Authors: Anita Sarma and Jim Hersleb
Affiliation: Carnegie Mellon University

Abstract: Software development is a collaborative effort that requires close coordination among different stake holders (e.g., developers, managers, testers). However, it is difficult for developers to know who to coordinate with. Further, since work dependencies in a project are dynamic and evolve, it is difficult for developers to create and aintain mental models of shared dependencies in the project. Past studies have shown that a vast majority of developers do not communicate congruently, i.e., their communication networks do not match the pattern of dependencies in their tasks. This mismatch can then increase development time and seems likely to increase software errors and to reduce efficiency. To help reduce the gaps between the coordination requirements and current coordination patterns, Tesseract provides an interactive exploration environment that visualizes project relationships among code, developers, communication records, and bugs. It consists of four cross-linked panels enabling developers to investigate relationships across the different project elements.

Back to top

Governor: Automating Governance Solutions in Development Environments

Authors: Avi Yaeli, Yael Dubinsky,Tim Klinger, Alex Kofman, Gilad Saadoun, Peri Tarr, Clay Williams, Wei Zhao
Affiliation: IBM Research

Abstract: Effective development organizations use policies and controls in order to keep their development efforts going smoothly. Many processes are specified in an activity-centric manner, and software development frequently encompasses multiple activities at once. As a result, it is hard to enforce policies and controls. People inadvertently violate them, to the detriment of the software product. Teams need a different approach to enable automatic specification and enactment of policies and controls across development tools. Governor address this problem by providing high-quality, flexible automation of development governance in a way that helps the whole team do their work and avoid common problems. Governor lets the organization reduce the risk that comes with process compliance failures and more easily certify compliance for regulatory and other agencies. In addition, Governor gives project managers the power to measure the effectiveness of decisions and process, and readily change and deploy policies and processes to improve outcomes.

Back to top

How Tagging Supports Informal Processes in Software Development

Authors: Christoph Treude and Margaret-Anne Storey
Affiliation: University of Victoria, Canada

Abstract: With Jazz, IBM has built a scalable, extensible team collaboration platform for integrating work across the phases of the software development lifecycle. It is unique in allowing developers to manage all their software artifacts through a single tool and to have their collaboration and communication in context. We demonstrate how Jazz allows researchers to explore collaboration in software development. As an example of this research, we present the results of a recent study on how tagging of work items in Jazz is used to bridge the gap between technical and social aspects in software development. Our findings indicate that lightweight informal tool support, prevalent in the social computing domain, may play an important role in improving team-based software development practices. We also offer suggestions on how tool support for tagging could be broadened for other social and technical artifacts, and how such tool support could be improved.

Back to top

Mining Bug Reports and Test Execution

Authors: Tao Xie , Tao Xie, Nuo Li, Xiaoyin Wang, Lu Zhang, and Hong Mei
Affiliation: North Carolina State University and Peking University

Abstract: Many open source software projects incorporate open bug repositories during development and maintenance so that both developers and users can report bugs that they have encountered, and call for more useful features or make suggestions for revision. Due to a projectís reliance on a large number of users acting as testers, this form of testing is asynchronous and loosely organized. In addition, the cost of usersí searching the repository (to determine if their problem has been reported) is higher than the cost of creating a new bug report. As a result, some reported bugs are not new ones but actually duplicates of existing bugs. To avoid the same bug being addressed by multiple bug fixers, it is necessary for a triager to examine each submitted bug report to determine whether it is a duplicate. However, due to the large number of existing bug reports and ambiguity of natural language, it is challenging for the triager to examine all existing bug reports to detect duplication. This project develops new techniques and tools to help detect duplicate bug reports by mining bug reports and test execution in the Jazz development environment.

Back to top

Mining the Jazz Repository: Challanges and Opportunities

Authors: Kim Herzig and Andreas Zeller
Affiliation: Saarland University, Germany

Abstract: By integrating various development and collaboration tools into one single platform, the Jazz environment offers several opportunities for software repository miners. In particular, Jazz offers full traceability from the initial requirements via work packages and work assignments to the final changes and tests; all these features can be easily accessed and leveraged for better prediction and recommendation systems.

Back to top

Requirements Clarification and Effort Estimation through Planning Poker in Jazz

Authors: Laurie Williams , Yogesh Arora, Kun-Ta Samuel Tsai, Raza Abbas Syed
Affiliation: North Carolina State University†

Abstract: Increasingly, software development teams are working in a geographically distributed fashion. Jazz supports this mode of development in many ways. Requirements can be documented and iterations can be planned in Jazz. A team at North Carolina State University is extending Jazzís capability to include support for distributed teams to play the Planning Game. By playing the Planning Game, the extended development team clarifies and estimates project requirements. Future plans include empirical study of the use of the Planning Poker plug in by distributed teams and an extension to support Protection Poker for security risk estimation.

Back to top

Search, Stitch, View: Easing Information Integration in an IDE

Authors: Thomas Fritz and Gail C. Murphy †
Affiliation: University of British Columbia, Canada

Abstract: When building a software system, software developers each contribute a flow of information that together forms the system. As they work, developers continuously consult various fragments of information to answer their questions about the system. In today's programming environments, information is kept in disparate silos, such as program code, bugs and change sets. However, to answer the variety of questions a developer faces, the interleaving of information from multiple sources is typically needed. We have implemented a prototype that allows for the composition of information fragments from different silos. We also interviewed three experienced developers to find out about cases when they need to interleave information.

Back to top

Spyglass: Helping Programmers Learn About Relevant Tools

Authors: Petcharat Viriyakattiyaporn and Gail C. Murphy
Affiliation: University of British Columbia, Canada

Abstract: Extensible development environments have enabled the creation and deployment of many useful tools to programmers. It can be difficult for a programmer to keep up with the influx of tools available in an environment and to know that a tool is available that may help with the performance of a particular task. We have been developing an active help system for Jazz, called Spyglass, that can recommend tools to help a programmer navigate more efficiently across information available in the environment. We will describe the recommendation mechanism in Spyglass and the results of a laboratory study we have conducted about Spyglassí effectiveness.

Back to top

Tempo: Managing the Risk Associated with Project Schedules

Authors: Steven Tang, Annie Ying, Paul Matchen, Dharmashankar Subramanian, Peri Tarr, Segev Wasserkrug, Clay Williams
Affiliation: IBM Research

Abstract: Many projects today deliver their products late, or with less functionality and lower quality than planned because the project took longer than anticipated. This happens because we donít really understand how much uncertainty and variability project tasks entail. For example, when someone estimates that a task will take two days, s/he may be very sure, or hope it will be two days but fear that it might take a lot longer. If it turns out that the person is wrong, the project may never recover from the resulting schedule slippage and missed deadlines. Tempo addresses this problem by computing the probability that tasks, iterations, milestones, and projects will finish on time. The Tempo tool setówhich is integrated with Rational Team Concertólets developers estimate their work more realistically and with more confidence, which benefits the project and the team. Project managers can use information about the variance on task completion time and the estimations associated with alternative schedules to manage the project's risk factors.

Back to top

World View: Understanding Dependencies in Global Development Projects

Authors: Theo van Oostrum, Anita Sarma, Marcelo Alvim, Andrť van der Hoek
Affiliation: University of California - Irvine and Carnegie Mellon University

Abstract: Global software development projects are known to lead to difficult coordination problems. World View is an awareness visualization that displays a variety of dependencies as they emerge and evolve in such projects. World View uses the metaphor of location, visually anchoring individuals and teams on Google Maps.

Back to top