Held in conjunction with

June 10-14, 2002


First International Workshop on
Unanticipated Software Evolution

Workshop report and online proceedings available on proceedings page
Thanks to all the participants of USE2002. See you again at USE2003!


Many studies of complex software systems have shown that more than 80% of the total cost of software development is devoted to software maintenance. This is mainly due to the need for software systems to evolve in the face of changing requirements. In some cases, software evolution may need to be dynamic, with changes being performed on running systems.

Despite the importance of software evolution, techniques and technologies that offer support for software evolution are far from ideal. In particular, unanticipated requirement changes are not well supported, although they account for most of the technical complications and related costs of evolving software.

By definition, unanticipated software evolution (USE) is not something for which we can prepare during the design of a software system. Therefore, support for such evolution in programming languages, component models and related runtime infrastructures becomes a key issue. Without it, unanticipated changes often force software engineers to perform extensive invasive modification of existing designs and code.

This one-day workshop will address the issues inherent in incremental static and dynamic evolution of object-oriented and component based systems. The main goal of the workshop is to discuss new approaches and technologies for building large-scale software systems that are evolvable when faced with unanticipated requirements. We also want to promote lively discussion between researchers proposing new approaches and practitioners reporting on their experience with the strengths and limitations of current technologies.

Topics of Interest

The workshop is intended to cover all aspects of unanticipated software evolution, from theoretical foundations to industrial experience. Position paper topics of interest include, but are not limited to:

  • Formal methods, language concepts and implementation techniques for USE.
  • USE support at different stages of a program’s life-cycle: compile-time, load-time and run-time.
  • USE support in object-oriented languages, component models and related infrastructures (JVM, EJB, JavaBeans, CORBA, DCOM, and .NET).
  • USE support by prototype-based language concepts, reflection, and aspect-oriented approaches.
  • Consistency, safety, integrity, constraint enforcement and dependency management issues.
  • Learning from object-oriented databases: Application of techniques for schema evolution and instance adaptation for run-time USE
  • Experience reports on engineering for 24x7 availability and on-line software upgrades.
  • Related descriptions of hard problems from a practitioner’s perspective.

Important dates

Attendance at the workshop is by invitation based on submitted position papers, and will be limited to aproximately 20 people in order to facilitate lively discussion and the exchange of ideas.

Deadline for reviewed paper submissions (extended):

April 12, 2002

Deadline for late submissions:

April 30, 2002

Notification of acceptance or rejection:

April 30, 2002

ECOOP early registration deadline:

May 6, 2002

Workshop: June 11, 2000

Deadline for updated paper versions (for journal):

authors of selected papers will be informed after the workshop about the schedule for journal publication

Late paper submissions will not enter the review process and will not be considered for journal publication. For late submissions, the organisers cannot guarantee a response prior to the early registration deadline of ECOOP 2002.

Related Events

OOPSLA 2001 Workshop on Engineering Complex Object-Oriented Systems for Evolution: http://www.dsg.cs.tcd.ie/ecoose/oopsla2001/papers.shtml

ECOOP2002 Workshop on Benchmarks for Empirical Studies in Object-Oriented Software Evolution: http://prog.vub.ac.be/ooae/ECOOP2002/ws05-cfp.html