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


Most Influential Paper (MIP): "N Degrees of Separation: Multi-Dimensional Separation of Concerns"
by P Tarr, H Ossher, W Harrison, SM Sutton Jr.
IFIP TC2 Manfred Paul Award: "Automatically Finding Patches Using Genetic Programming"
by Weimer, Nguyen, Le Goues, Forrest
ACM SIGSOFT Distinguished Papers:

Most Influential Paper

Back to top

Each year the program committee for ICSE'n reviews the papers from ICSE'(n-10) and selects the paper they consider to have been the most influential paper during the previous 10 years. See http://www.sigsoft.org/awards/mostInfPapAwd.htm for a complete listing of the past MIP awards.

It gives us great pleasure to announce this year's Most Influential Paper from ICSE 21 (1999): "N Degrees of Separation: Multi-Dimensional Separation of Concerns" by P Tarr, H Ossher, W Harrison, SM Sutton Jr.

A significant number of top papers were published in 1999. Hence, the selection of the Tarr et al paper is quite an honor. On Google Scholar, it is listed as having 965 citations. The paper brought into sharp focus significant architectural and design issues, all elated to the problems of multi-dimensional concerns that are present in even the simplest of software systems.

The full citation, abstract, and link to the paper are given below. Congratulations again to the authors.

N degrees of separation: multi-dimensional separation of concerns, P. Tarr, H. Ossher, W. Harrison, S.M. Sutton Jr., Proceedings of the 1999 International Conference on Software Engineering, May 1999, pages 107-119


Done well, separation of concerns can provide many software engineering benefits, including reduced complexity, improved reusability, and simpler evolution. The choice of boundaries for separate concerns depends on both requirements on the system and on the kind(s) of decomposition and composition a given formalism supports. The predominant methodologies and formalisms available, however, support only orthogonal separations of concerns, along single dimensions of composition and decomposition. These characteristics lead to a number of well-known and difficult problems. This paper describes a new paradigm for modeling and implementing software artifacts, one that permits separation of overlapping concerns along multiple dimensions of composition and decomposition. This approach addresses numerous problems throughout the software lifecycle in achieving well-engineered, evolvable, flexible software artifacts and traceability across artifacts.


The IFIP TC2 Manfred Paul Award for Excellence in Software: Theory and Practice

Back to top

The Award

Technical Committee 2 of IFIP annually recognises excellence in its area by means of an award made to an outstanding researcher in software, theory are practice.
  1. The award is known as the IFIP TC2 Manfred Paul Award.
  2. The award consists of a certificate and an amount of money to the value of 1024 euro.
  3. The award is issued annually to a natural person, or group, for a single (possibly joint) paper published in the proceedings of a suitable conference yearly so assigned by IFIP TC2.
  4. The selection is done by the Program Committee Chair(s) of the conference, and the award must be personally and publicly issued to the laureate at the event.
  5. The motto of the prize is "For excellence in Software: Theory and Practice" according to the scope of the TC2 working groups, see www.ifiptc2.org.
  6. Members of TC2 are not eligible, when member is taken as on 1st of January of the award year, but members of Working Groups are eligible.
  7. At the discretion of the committee members, there may be no award or more than one award in each year.

The Winner

"Automatically Finding Patches Using Genetic Programming"
by Weimer, Nguyen, Le Goues, Forrest


Automatic repair of programs has been a longstanding goal in software engineering, yet debugging remains a largely manual process. We introduce a fully automated method for locating and repairing bugs in production software. The approach works on off-the-shelf legacy applications and does not require formal specifications, program annotations or special coding practices. Once a program fault is discovered, an extended form of genetic programming evolves program variants until one is found that both retains required functionality and also avoids the defect in question. Standard test cases are used to exercise the fault and to encode program requirements. After a successful repair has been discovered, it is minimized using using structural differencing algorithms and delta debugging. We describe the proposed method and report results from an initial set of experiments demonstrating that it can successfully repair ten different C programs totaling 63,000 lines in under 200 seconds each, on average.

About Manfred Paul

Manfred Paul was chairman of TC2 from 1977 to 1986, and has been the representative for Germany since 1973. He was a founder member of WG2.1 (Algorithmic languages and Calculi) and chairman from 1969 to 1975, and a founder memebr of WG2.2 (Formal Descreiption of Programming Concepts). He was awarded the IFIP Silver Core in 1974. One of Prof Paul's many accomplishments is that he was the author of the ALGOL compiler "ALCOR MUNICH Z22" for the ZUSE Z22, an early commercially available computer in Europe. This compiler was one of the first handling full recursion in a high level programming language.

About IFIP TC2: Software Theory and Practice

Established 1962, revised 1982, 1990

To obtain a deeper understanding of programming concepts in order to improve the quality of software by studying all aspects of the software development process, both theoretical and practical.

The scope of the committee encompasses all aspects of the software development process including the specification, design, implementation and validation of software systems. Areas of present activity are:

  • formal models of software concepts
  • programming languages and techniques
  • models for information storage and processing
  • program support environments
  • user interfaces to software systems
  • software quality


  • WG 2.1 Algorithmic Languages and Calculi
  • WG 2.2 Formal Description of Programming Concepts
  • WG 2.3 Programming Methodology
  • WG 2.4 Software Implementation Technology
  • WG 2.5 Numerical Software
  • WG 2.6 Database
  • WG 2.7 (= WG 13.4) User Interface Engineering
  • WG 2.8 Functional Programming
  • WG 2.9 Software Requirements Engineering
  • WG 2.10 Software Architecture
  • WG 2.11 Program Generation
  • WG 2.12 (= WG 12.4) Web Semantics