1 / 56

FWO Research Network Foundations of Software Evolution

FWO Research Network Foundations of Software Evolution. Research Meeting Friday, September 20, 2002 Technical University of Vienna Vienna, Austria. Welcome. by Mehdi Jazayeri. Today’s Schedule. 9:00 Welcome by Mehdi Jazayeri 9:30 Overview of past activities and finances by Tom Mens

emi-lynn
Download Presentation

FWO Research Network Foundations of Software Evolution

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. FWO Research NetworkFoundations of Software Evolution Research Meeting Friday, September 20, 2002 Technical University of Vienna Vienna, Austria

  2. Welcome by Mehdi Jazayeri

  3. Today’s Schedule 9:00 Welcome by Mehdi Jazayeri 9:30 Overview of past activities and finances by Tom Mens 10:00Overview of ESF RELEASE network by Serge Demeyer 10:30 --- Coffee break --- 11:00 Talk about Evolution Taxonomy by Tom Mens 11:30 Discussion about Evolution Taxonomy 12:00 --- Lunch --- 13:00 Summary Q&A Software Evolution by Tom Tourwe 13:30 Discusion about Q&A Software Evolution by Serge Demeyer identification of opportunities for collaboration 15:00 --- Coffee break --- 15:30 Discussion about futureactivities 17:00 End of the workshop 20:00 --- Workshop Dinner ---

  4. Overview of past activities and finances by Tom Mens

  5. Overview of finances for 2002 • Available budget for 2002: 12394,68 EUR + rest of last year: 7715,44 EUR • Research visits -1274,33 EUR • Conferences and workshops -5662,44 EUR • WOG meeting (18/1/02) 3746,46 EUR • ECOOP workshop USE 457,50 EUR • IWPSE 2002 450,48 EUR • SEKE 2002 1008,00 EUR • network lunches - 118,40 EUR • special issue J. software evolution - 66,86 EUR • other? • ? boeken mens tom 19,81 • ? kost Tampa D’Hondt 319,53 • Amount still available: 12988,09 EUR • Organisation of this meeting -????,?? EUR • Barcelona evolution workshop-????,?? EUR

  6. Detail of finances for 2002 • Conference and workshop fees, travel and accomodation expenses • WOG network meeting 18/1/2002 3746,46 EUR • food and drink and room 316,80 • Tom Mens 9,30 • Mehdi Jazayeri 902,14 • Raymond Boute 11,00 • Michel Wermelinger 377,80 • Reiko Heckel 189,90 • Gall & Jazayeri 1021,63 • Serge Demeyer 10,16 • Michele Lanza 433,42 • Stephane Ducasse 474,31 • ECOOP Workshop USE 457,50 EUR • Tom Mens (ws registration) 250 • Tom Mens (travel costs) 207,50 • IWPSE 2002 450,48 EUR • Michel Wermelinger 450,48 • SEKE 2002 1008,00 EUR • Kim Mens 1008,00

  7. Detail of finances for 2002 • Research visits 1274,33 EUR • Serge Demeyer (Dec. 2001, Bern) 486,00 • Serge Demeyer (May 2002, Bern) 313,58 • Tom Mens (Paderborn) 474,75 • Lunches 118,40 EUR • T Mens, K Mens, M Wermelinger 118,40 • Special issue JSME 66,86 EUR • DHL 11,60 + 55,26

  8. Publications in 2002 • Conferences and workshops • Conferences • T. Mens, S. Demeyer, D. Janssens. Formalising Behaviour Preserving Program Transformations. Proc. ICGT 2002 • K. Mens, T. Mens, M. Wermelinger. Maintaining software through intentional source-code views. SEKE 2002 • Workshops • T. Mens, M. Lanza. A Graph-Based Metamodel for Object-Oriented Software Metrics, GraBaTS workshop, ENTCS 72(2), 2002 • G. Arevalo, T. Mens. Analysing Object-Oriented Application Frameworks Using Concept Analysis. MASPEGHI workshop, LNCS, September 2002 • G. Arevalo, T. Mens. Analysing Object Oriented Framework Reuse using Concept Analysis. ECOOP 2002 Inheritance workshop, June 2002 • K. Mens, T. Mens, M. Wermelinger. Supporting software evolution with Intentional Software Views. IWPSE 2002, pp. 138-142, ACM Press, May 2002

  9. Publications in 2002 • Books, journals and dissertations • Journals • T. Mens, M. Wermelinger. Separation of concerns for software evolution. Special issue of JSME Journal • Dissertations • T. Tourwe. Automated Support for Framework-Based Software Evolution. PhD Thesis, Vrije Universiteit Brussel, September 2002 • T. Richner. Recovering Behavioral Design Views: a Query-based Approach. PhD Thesis, University of Bern, May 2002 • Books • S. Demeyer, S. Ducasse, O. Nierstrasz. Object-Oriented Reengineering Patterns. Morgan Kaufmann, 2002

  10. Overview of ESF RELEASE by Serge Demeyer

  11. TUD-DE UCL RUG FWO-WOG KUL Title: Formal foundations of software evolution Funding: FWO Flanders Duration: 1/1/2001 – 31/12/2005 Funding: 61973 EUR UPB-DE UL-PT TUV-AT UB-CH ESF-RELEASE SER-NL SU-IT Title: Research links to explore and advance software evolution Funding: European Science Foundation Duration: 1/7/2002 – 31/12/2005 Funding: 93660 EUR IC-UK LSR-FR ESF RELEASE In Belgium Abroad UA VUB

  12. ESF RELEASE • Proposed network activities • Establish a sound scientific research method • (Lehman and Ramil activity coordinators) • Set up evolution benchmarks • (Serge Demeyer activity coordinator)

  13. ESF RELEASE • Network convenors • Tom Mens (VUB-BE) • Serge Demeyer (UA-BE) • Coordination committee • Giulio Antoniol (SU-IT) • Jan Bosch (SER-NL) • Michel Wermelinger (UL-PT) • Stéphane Ducasse (UB-CH) • Harald Gall (TUV-A) • Gregor Engels (UPB-DE) • Meir M. Lehman (IC-UK) • Jacky Estublier (LSR-FR)

  14. ESF RELEASE • Official observers • Theo D’Hondt (VUB-BE) • José Luiz Fiadeiro (UL-PT) • Oscar Nierstrasz (UB-CH) • Mehdi Jazayeri (TUV-A) • Reiko Heckel (UPB-DE) • Jean-Marie Favre (LSR-FR) • Juan F. Ramil (OU-UK) • Advisors • Kim Mens, Axel van Lamsweerde (UCL-BE) • Chris Verhoef (UA-NL) • Keith Bennett (UD-UK) • Malcolm P. Atkinson (UG-UK) • Stephen Cook,Rachel Harrison (UR-UK) • Reidar Conradi (UST-NO) • Dag Sjøberg (UO-NO)

  15. ESF RELEASE • Distribution of responsibilities • Network convenor • Treasurer • Website and mailing list manager • Report manager • Workshop coordinator • Meeting coordinator • Activity coordinators

  16. Evolution Taxonomy by Tom Mens in collaboration with Jim Buckley, Awais Rashid, Matthias Zenger

  17. Evolution Taxonomy • Taxonomy of software evolution based on mechanisms of change and factors that impact upon these mechanisms • (ECOOP USE 2002 working group) • Six “dimensions” of properties • Temporal properties (when?) • Change properties (what?) • Drivers of change (who?) • Object of change (where?) • Change process (how?) • System properties

  18. Evolution Taxonomy • Related work: categorising the “why” of software evolution • based on the “purpose” of software changes • Lientz&Swanson 1980 • perfective / adaptive / corrective maintenance • Chapin et al. 2001 • evidence-based classification of 12 types of software evolution • evaluative, consultive, training, updative, reformative, adaptive, performance, preventive, groomative, enhancive, corrective, reductive

  19. Evolution Taxonomy • Use the taxonomy to • Provide an overview of the domain of software evolution • Position individual software evolution tools and techniques • identify their strengths and weaknesses • Compare and combine software evolution tools and techniques • choose the best one among different alternatives • find out whether two tools are complementary or overlapping • Evaluate the use of a tool or technique in a particular evolution context

  20. System properties Change properties (what) openness safety invasiveness activeness effect type availability plan control measure verify Change process (how) Temporal properties (when) CHANGE time of change change history change frequency granularity driver locality scope automation artifact distribution Object of change (where) Drivers of change (who) Evolution Taxonomy

  21. Evolution Taxonomy • Temporal properties • Time of change • time when a change is requested • time when the change is prepared • time when the changes becomes available for execution • time when the change is executed • Change history • Versioning • Change frequency

  22. Evolution Taxonomy • Temporal properties • Change history • sequential / parallel versions • synchronous / asynchronous • divergent / convergent changes (merging) • invasive (destructive) / non-invasive changes

  23. Evolution Taxonomy • Drivers of change • Distribution • local / distributed • Degree of automation • automatic / interactive / manual • Role • person requesting the change • person making the change • person evaluating the change • manager approving the change

  24. Evolution Taxonomy • Change properties • Type of change • structural versus semantic changes • Effect of change • addition / subtraction / modification • Safety • type safety • backward compatibility safety • semantic safety (impossible) • Invasiveness

  25. Evolution Taxonomy • Object of change • Artifact being changed • documents, requirements specification, analysis and design models, source code, tests, binaries, executables, architectures, … • Granularity • from very coarse to very fine granularity • Locality of change • local/propagated/global • Scope of change • to different kinds of artifacts?

  26. Evolution Taxonomy • System properties • Activeness • Passive = changes are driven externally • Active = system drives the changes itself (e.g. by monitoring events) • e.g. dynamic reconfiguration • Openness • Open system = explicit provisions are built in the software to make it easier to evolve • e.g. framework, plug-ins, templates, reflection • Availability • system must keep running under all circumstances

  27. Evolution Taxonomy • Change process • Plan • e.g. using change request forms • Control • e.g. with or without versioning; extreme programming • Measure • e.g. impact analysis, effort estimation, evolution metrics, estimating the size of a change, … • Verify

  28. Evolution Taxonomy • Validation: Apply the taxonomy to a number of tools • Refactoring Browser, CVS, eLiza, …

  29. Evolution Taxonomy

  30. Evolution Taxonomy

  31. Evolution Taxonomy • Apply the taxonomy to the WOG-Evol network • Techniques • Graph rewriting for refactoring (VUB, UA) • Architectural reconfiguration (Lisbon) • Coordination contracts (Lisbon) • Model transformations (Paderborn) • … • Tools • CodEvolver (Bern) • Soul • DupLoc (Bern) • Café (Vienna) • …

  32. Evolution Taxonomy

  33. Evolution Taxonomy

  34. Q&A Software Evolution by Tom Tourwe

  35. Q&A Software Evolution • General questions • What is software evolution (SE)? • Can you provide a taxonomy/classification of SE? • What are the most important problems in SE that need to be addressed? • From a practical/industrial point of view • From a research point of view

  36. Q&A Software Evolution • Research questions • Which of the important SE problems do you (intend to) address? • In your past research • In your current research • In your future research • Which approaches do you take to tackle these problems? • How do you (intend to) validate your approach(es) in practice? • If you intend to validate your approach(es) on a concrete software system, what are the specific characteristics that you require of this software system?

  37. Q&A Software Evolution • Contributions by • Serge Demeyer, Luuk Groenewegen, Mehdi Jazayeri, Kim Mens, Tom Mens, Tobias Rotsche, Tom Tourwe

  38. Definition of Software Evolution • The way a software system reacts to changing requirements • Software evolution occurs when software artefacts change • Implementation, but other artefacts as well • Software evolution refers to the sequence of changes that software goes through from its first release until its retirement • Software evolution is the systematic process of extending and adapting systems, without starting from scratch • The realized history of the software system during its lifetime

  39. Summary • Effect (result) vs. action (how) • Evolution vs. maintenance • Change of requirements vs. any kind of change • Evolution after first release vs. starting from scratch

  40. Taxonomy of Software Evolution • Anticipated vs. unanticipated • Version controlled or not • Planned vs. unplanned • Controlled vs. uncontrolled • Manual vs. supported • E.g. by means of refactoring • What is being changed? • Requirements, design, implementation, .. • Type of change • Perfective, adaptive, corrective, ..

  41. Taxonomy of Software Evolution • Granularity of changes • Systems, subsystems, classes, methods, statements, .. • Change process • Sequential changes, parallel changes, .. • Dynamic (runtime) vs. static evolution • Short vs. long period

  42. Industrial Problems • Change & Impact analysis • Effort & cost estimation • Change propagation • Conflict detection • Merge conflicts, .. • Re(verse) Engineering • Software aging • When does software degrade? • Why does(n’t) it degrade? • How can we take countermeasures?

  43. Industrial Problems • Software development/evolution processes • Impact of software development process on evolution • Organize and structure evolution process • Tool support for all of the above • Effect of training, experience, education, etc. • How to measure this? • How to teach?

  44. Research Problems • Software evolution methodology • Techniques and tools to understand, explain & discipline software evolution processes • Research methodology • Techniques to evaluate and measure software evolution techniques & processes • Conformance checking • of design & implementation, implementation & documentation • Co-evolution • How to keep architecture, design, implementation, .. in sync

  45. Research Problems • How to measure software evolution in industry? • Effect of technology on software evolution? • E.g. programming language, environment, .. • How to measure this effect? • How to improve existing technologies? • Use of formalisms • To address software evolution • To enable tool support for evolution

  46. Current Research Topics • Re(verse) engineering (of software architectures) • Refactoring • Use of formalisms • Identifying refactorings that have been or should be applied • Conformance checking • Avoiding architectural decay • Co-evolution

  47. Current Research Topics • Use of measurements (metrics) • for software evolution • to identify refactorings that have been applied • Analyzing evolution • To predict future evolution • To support software merging & upgrading

  48. Approaches taken • Prototype tools • based on metamodels, formalisms, .. • Exploring mathematical formalisms • E.g. graph rewriting, metrics, .. • Visualization techniques

  49. Validation • Case studies • Small vs. large scale

  50. Requirements for Validation • Large scale • Different versions of the source code • Smalltalk, Java, C++, … • Version controlled • Well-documented • Artefacts • Design models, architectural views, … • Version controlled if possible • Evolution • Changes, transformations, …

More Related