Program » Frontiers of Software Maintenance

Besides invited keynote speakers, the ICSM 2008 program will have a series of Frontiers of Software Maintenance speakers to present mini-tutorials and research directions that encompass a wide range of essential topics in maintenance and evolution.

Service-Oriented Architecture and
its Implications for Software Maintenance and Evolution

Grace Lewis Photo

Grace A. Lewis
Carnegie Mellon University Software Engineering Institute, USA
Dennis B. Smith
Carnegie Mellon University Software Engineering Institute, USA

Tuesday, September 30, 16:00–16:30

Abstract

It is clear that Service-Oriented Architecture (SOA) is having a substantial impact on the way software systems are developed. According to a 2007 Gartner Group report, 50% of new mission-critical operational applications and business processes were designed in 2007 around SOA, and that number will be more than 80% by 2010. This means that as service-oriented systems are deployed and legacy systems are migrated to this environment, a main concern is now their maintenance and evolution. This talk provides an overview of SOA concepts, best practices for implementation of service-oriented systems, the implications that SOA environments have on software maintenance and evolution activities, and finally some research challenges for the software maintenance and evolution research community.

top


Challenges and Opportunities Related to
the Design, Deployment and, Operation of Web Services

Kostas Kontogiannis Photo

Kostas Kontogiannis
National Technical University of Athens, Greece

Tuesday, September 30, 16:30–17:00

Abstract

Web Services have been proposed almost a decade ago as an implementation technology for Service Oriented Architecture. Web Service technologies have since been adopted by many users as a vehicle to build such service provision-based software systems. Despite their widespread adoption, Web Services still pose significant challenges as well as, opportunities both to the Information Technology community and, to Business community. The challenges deal with engineering, and adoption issues while the opportunities deal mostly with business and operations issues. In this talk, we first discuss the state of the art in the area of Web Services, and then we proceed on identifying challenges and opportunities related to designing, implementing, operating and maintaining such systems. Finally, we present emerging technologies that we believe may play a significant role in implementing and deploying the next generation Web Services and Service Oriented Systems in general.

top


Traceability Management for Impact Analysis

Andrea De Lucia Photo  Fausto Fasano Photo  Rocco Oliveto Photo

Andrea De Lucia
University of Salerno, Italy
Fausto Fasano
University of Salerno, Italy
Rocco Oliveto
University of Salerno, Italy

Tuesday, September 30, 17:00–17:30

Abstract

Software change impact analysis is the activity of the software maintenance process that determines possible effects of proposed software changes. This activity is necessary to be aware of ripple-effects caused by the change and record them so that nothing is overlooked. A change has not only impact on the source code, but also on the other related software artefacts, such as requirements, design, and test. For this reason, impact analysis can be efficiently supported through traceability information. In this talk we review traceability management in the context of impact analysis and discuss the main challenges and research directions.

top


Expressiveness and Effectiveness of Program Comprehension:
Thoughts on Future Research Directions

Jonathan Maletic Photo

Jonathan I. Maletic
Kent State University, USA
Huzefa Kagdi
Missouri University of Science and Technology, USA

Tuesday, September 30, 16:00–16:30

Abstract

A number of research challenges in the area of program comprehension are presented. The expressiveness and effectiveness of program comprehension are discussed, and research directions are organized along these two axes. Both fundamental research issues are raised along with new applications for program comprehension methods. The work advocates the investigation of better measures, further empirical studies, and controlled experiments to assess the effectiveness of program comprehension techniques.

top


Frontiers of Reverse Engineering: A Conceptual Model

Gerardo Canfora Photo  Massimiliano Di Penta Photo

Gerardo Canfora
University of Sannio, Italy
Massimiliano Di Penta
University of Sannio, Italy

Tuesday, September 30, 16:30–17:00

Abstract

Software reverse engineering is a crucial task to reconstruct high-level views of a software system—with the purpose of understanding and/or maintaining it—when the only reliable source of information is the source code, or even the system binaries. This talk discusses key reverse engineering concepts through a UML conceptual model. Specifically, the model is composed of a set of UML class diagrams describing relationships existing among reverse engineering processes, tools, artifacts, and stakeholders.

top


The Road Ahead for Mining Software Repositories

Ahmed Hassan Photo

Ahmed E. Hassan
Queen's University, Canada

Tuesday, September 30, 17:00–17:30

Abstract

Source control repositories, bug repositories, archived communications, deployment logs, and code repositories are examples of software repositories that are commonly available for most software projects. The Mining Software Repositories (MSR) field analyzes and cross-links the rich data available in these repositories to uncover interesting and actionable information about software systems. By transforming these repositories from static record-keeping ones into active repositories, we can guide decision processes in modern software projects. For example, data in source control repositories, traditionally used to archive code, could be linked with data in bug repositories to help practitioners propagate complex changes and to warn them about risky code based on prior changes and bugs. In this talk, we present a brief history of the MSR field and discuss several recent achievements and results of using MSR techniques to support software research and practice. We then discuss the various opportunities and challenges that lie in the road ahead for this important and emerging field.

top


Program Slicing

Keith Gallagher Photo  David Binkley Photo

Keith Gallagher
Durham University, UK
David Binkley
Loyola College in Maryland, USA

Wednesday, October 1, 16:00–16:30

Abstract

Program slicing is a decomposition technique that elides program components not relevant to a chosen computation, referred to as a slicing criterion. The remaining components form an executable program called a slice that computes a projection of the original program’s semantics. Using examples coupled with fundamental principles, a tutorial introduction to program slicing is presented. Then applications of program slicing are surveyed, ranging from its first use as a debugging technique to current applications in property verification using finite state models. Finally, a summary of research challenges for the slicing community is discussed.

top


Dealing with Crosscutting Concerns in Existing Software

Leon Moonen Photo

Leon Moonen
Simula Research Laboratory, Norway

Wednesday, October 1, 16:30–17:00

Abstract

This talk provides a roadmap for dealing with crosscutting concerns while trying to understand, maintain, and evolve existing software systems. We describe an integrated, systematic, approach that helps a software engineer with identifying, documenting and migrating crosscutting concerns in the source code of a software system, and discuss the integration considerations. We conclude with a number of lessons learned and directions for future research.

top


Frontiers of Web Site Evolution

Shihong Huang Photo

Shihong Huang
Florida Atlantic University, USA

Wednesday, October 1, 16:00–16:30

Abstract

Large-scale software systems must continuously evolve to respond to shifting business requirements. Many Web sites can already be classified as legacy systems, given their age, size, and complexity. As with older legacy systems, these "new" legacy systems represent significant institutional value. However, leveraging this value is challenging. In many ways, a Web site contains many of the features of a traditional software system, and yet possesses several unique features of its own. Consequently, Web site evolution represents a rich research area that builds upon traditional software maintenance and evolution, but extends it in new directions as well. This talk presents an overview of the field of Web site evolution, its unique challenges, and discusses selected research frontiers in the area, focusing on accessibility issues in particular.

top


Component-Based Tool Building

Holger Kienle Photo

Holger M. Kienle
University of Victoria, Canada

Wednesday, October 1, 16:30–17:00

Abstract

This talk describes an emerging approach for the construction of software-engineering research tools, which is characterized by the use of preexisting components (e.g., off-the-shelf products, integrated development environments, and domain-specific tools) to realize tool functionalities. This approach can be seen as an instantiation of component-based development for the domain of tool building in academia. Building of tools in this manner is already pursued by many researchers, presumable because this approach promises to be more effective compared to coding a tool from scratch. For example, tools can be quickly prototyped and evolved in response to user input or new research directions. Also, tools can be more usable and adoption friendly.

top


Retesting Software During Development and Maintenance

Mary Jean Harrold Photo  Alessandro Orso Photo

Mary Jean Harrold
Georgia Institute of Technology, USA
Alessandro Orso
Georgia Institute of Technology, USA

Thursday, October 2, 15:30–16:00

Abstract

As most software continually evolves and changes during development and maintenance, it is necessary to test new and modified parts and retest existing parts that might have been affected by the changes. This activity is called regression testing and can account for a large percentage of the overall cost of software development. For this reason, much research has been (and is still being) performed on regression testing. This talk presents an overview of the major issues involved in software regression testing, an analysis of the state of the research and the state of the practice in regression testing in both academia and industry, and a discussion of the main open challenges for regression testing.

top


Software Analysis for Security

Spiros Mancoridis Photo

Spiros Mancoridis
Drexel University, USA

Thursday, October 2, 16:00–16:30

Abstract

This is a survey of the processes, practices, and technologies that can help software maintenance engineers improve the security of software systems. A particular emphasis is placed on validating security architectures, verifying that the implementation of an architecture’s constituent applications adhere to secure coding practices, and protecting software systems against malicious software. In addition to surveying the state-of-the-art, research challenges pertaining to software security are posed to the software maintenance research community.

top


Frontiers of Software Clone Management

Rainer Koschke Photo

Rainer Koschke
University of Bremen, Germany

Thursday, October 2, 16:30–17:00

Abstract

Ad-hoc reuse through copy-and-paste occurs frequently in practice affecting the evolvability of software. This talk summarizes the state of the art in software clone management (detection, tracking, presentation, assessing, removal, changing) and the empirical knowledge we have gained so far. In the course of the summary, the talk identifies further research potential.

top


The Past, Present, and Future of Software Evolution

Michael Godfrey Logo  Daniel German Photo

Michael W. Godfrey
University of Waterloo, Canada
Daniel M. German
University of Victoria, Canada

Thursday, October 2, 15:30–16:00

Abstract

Change is an essential characteristic of software development, as software systems must respond to evolving requirements, platforms, and other environmental pressures. In this talk, we discuss the concept of software evolution from several perspectives. We examine how it relates to and differs from software maintenance. We discuss insights about software evolution arising from Lehman’s laws of software evolution and the staged lifecycle model of Bennett and Rajlich. We compare software evolution to other kinds of evolution, from science and social sciences, and we examine the forces that shape change. Finally, we discuss the changing nature of software in general as it relates to evolution, and we propose open challenges and future directions for software evolution research.

top


Remixing Visualization to Support Collaboration in Software Maintenance

Margaret-Anne Storey Photo

Margaret-Anne Storey
University of Victoria, Canada
Chris Bennett
University of Victoria, Canada
R. Ian Bull
University of Victoria, Canada
Daniel M. German
University of Victoria, Canada

Thursday, October 2, 16:00–16:30

Abstract

We propose that collaborative software visualization can improve team software maintenance. We first review how visualization can support software maintenance from the perspectives of system understanding, process understanding and software evolution. From this, we conclude that visualization tools are rarely designed to provide explicit support for collaborative authoring and sharing of views. We then provide an overview of research from a Computer Supported Cooperative Work perspective, and propose that this research should be applied to software visualization. We explore the opportunities and challenges this research focus presents and conclude that more attention paid to the social aspects of software visualization should improve both individual and team processes in software maintenance.

top


Systems of Systems:
New Challenges for Maintenance and Evolution

Dennis Smith Photo

Dennis B. Smith
Carnegie Mellon University Software Engineering Institute, USA
Grace A. Lewis
Carnegie Mellon University Software Engineering Institute, USA

Thursday, October 2, 16:30–17:00

Abstract

Over the past decade, there has been a shift in software engineering practice away from the development of traditional stand-alone systems and toward large scale Systems of Systems (SoS). The movement toward SoS, in which there is often not a single organization in control, requires a change in a number of maintenance and evolution practices. This talk outlines the basic dimensions of a SoS, and traces its implications for software evolution and maintenance.

top


http://www.icsm2008.org/program-f.html
Copyright © 2008 ICSM