Formal foundations of software evolution: workshop report

  • Authors:
  • Tom Mens;Michel Wermelinger

  • Affiliations:
  • Vrije Universiteit Brussel, Belgium;Universidade Nova de Lisboa, 2825-114 Caparica, Portugal

  • Venue:
  • ACM SIGSOFT Software Engineering Notes
  • Year:
  • 2001

Quantified Score

Hi-index 0.00

Visualization

Abstract

The workshop on Formal Foundations of Software Evolution wasco-located with the 5th European Conference on SoftwareMaintenance and Reengineering (CSMR 2001), which took place atthe Centro de Congressos do Instituto Superior Tcnico in Lisbon,Portugal, March 14 to 16, 2001. The workshop was organised in thecontext of the Scientific Research Network on Foundations ofSoftware Evolution. This is a research consortium coordinatedby the Programming Technology Lab of the Vrije Universiteit Brussel(Belgium), and it involves 9 research institutes from universitiesin 5 different European countries (Belgium, Germany, Austria,Switzerland, and Portugal). The consortium is financed by the Fundfor Scientific Research - Flanders (Belgium).One full day wasallocated for the workshop (March 13, 2001). There were 14participants, that all contributed with a position paper which wasreviewed and revised before the workshop. Next to the submissionsof the research consortium partners, there were also participantsfrom research institutes in Spain, United Kingdom, Finland, andJapan. In preparation to the workshop, participants were requestedto read all other submissions, and asked to prepare a clearposition statement and questions that were likely to stimulatediscussion.The goal of the workshop was to get more insight intohow formal techniques can alleviate software evolution problems,and how they can lead to tools for the evolution of large andcomplex software systems that are more robust and more widelyapplicable without sacrificing efficiency. Preferably, theevolution-support tools should not be restricted to a particularphase of software evolution [BR00], but should be generallyapplicable throughout the entire application lifetime. The toolsshould also provide support for different aspects of softwareengineering, such as forward engineering, reverse engineering,re-engineering, and team engineering.In order to stimulatediscussions, three general important questions were posed to theparticipants at the beginning of the workshop: Which aspects of software evolution need to be automated bytools?Where and how can formalisms help us to achieve toolsupport?How can we build formally-founded tools that are as general andflexible as possible? Note that the generality and flexibility of atool involves many different aspects: --- independence of the programming language for which supportshould be provided;--- customisability by the user of the tool;--- applicabilityin or across different stages of software evolution;--- interoperability with other tools;--- scalability to large and complex software systems withmultiple developers;--- usable for static (design-time) as well as dynamic(runtime) evolution;--- applicable to forward, reverse, and re-engineering;--- usable before, during, and after evolution;--- usable for facilitating, supporting, as well as analysingevolution;--- to deal with the what and why as well as thehow of software evolution