SlideShare une entreprise Scribd logo
1  sur  17
Télécharger pour lire hors ligne
Future Research Challenges in Software Evolution


                                      Tom Mens
                                 Université de Mons

                              General Chair of the
                            ERCIM Working Group on
                               Software Evolution


                  With contributions from other WG members:
                  Y.-G. Guéhéneuc, J. Buckley, R. Mittermeir, A. Winter, J.
                   Muccini, R. Wuyts, R. Laemmel, S. Ducasse, J.M.
                   Jézéquel, K. Mens, J. Visser
Some references used in this presentation
•  L. Erlikh. Leveraging legacy system dollars for E-business. IT
    Pro, May/June, pages 17-23, IEEE Press, 2000
•  T. Mens, M. Wermelinger, S. Ducasse, S. Demeyer, R.
    Hirschfeld, and M. Jazayeri. Challenges in software evolution.
    In Proc. Int’l Workshop on Principles of Software Evolution
    (IWPSE), 2005.
•  N. H. Madhavji, J. F. Ramil, D. E. Perry. Software Evolution
    and Feedback: Theory and Practice. John Wiley & Sons, 2006.
•  S. R. Schach. Object Oriented Software Engineering, McGraw
    Hill, 2008. ISBN 978-007-125941-5
•  T. Mens, S. Demeyer. Software Evolution. Springer, 2008
•  T. Mens, The ERCIM Working Group on Software Evolution:
    the Past and the Future. Proc. IWPSE-EVOL 2009 (ESEC
   /FSE proceedings), ACM, 2009
•  T. Mens. CSMR 2009 European Projects Track. Proc. CSMR,
    pages 275–276. IEEE, 2009
PhDs in Europe
in the domain of
software evolution




(data for 2009 not yet included)
Observations
Software change/evolution is

  •  inevitable
  •  unpredictable
  •  costly
  •  difficult
  •  time- and resource-consuming
  •  poorly supported by tools,
     techniques, formalisms
  •  underestimated by managers
  •  poorly understood

  •  If performed well, a major success factor for business
      innovation !
Software changes are unavoidable / inevitable
•  Continuous business innovation
   •  Is essential for competitiveness and survival of companies
   •  Is an important driver of software evolution
•  Requirements changes due to
   •    New customers; existing customers with new demands
   •    Changes in organisational structure; competitors
   •    Changes in legislation
   •    Feedback loop: The changed software may be the reason why
        the environment changes !
•  Continuous software quality improvement
   •  Bug fixes
  •  Improvement of quality, performance, reliability, …
   •  Anti-regressive work to counter software ageing/erosion
•  Changes in external environment
   •  New hardware and software technologies
   •  New versions of interacting software
Changing software is costly
(Schach, 2008): Most of the effort and cost is spent on
   post-delivery maintenance
  based on various data sources
Average cost between                      Average cost between
1976 and 1981                             1992 and 1998
                                                                       Development
                                                                          25%
                            Development
                               33%




              Maintenance
                 67%                                     Maintenance
                                                            75%




(Erlikh, 2000, IT Pro) “Leveraging legacy system dollars for E-business”
    more than 90% of companies resources dedicated to software maintenance
How/why is software evolution research relevant to
                 society and industry?
Software evolution is a transversal research activity that is
   required
   •  In all software engineering activities
       •  E.g. requirements specifications, analysis and design, programming, deployment, …

   •  At all levels of abstraction
       •  E.g. executable code, bytecode, source code, design models, …

   •  In all software development paradigms

   •  For all technologies

   •  In a wide variety of application domains

   •  For many different types of “stakeholders”
Software Evolution Challenges
The order of the following list of challenges does not
  reflect their relative importance. We consider them all
  very important.

Some challenges are generic (i.e. relevant to any type of
  software), while others are specific to a particular
  domain
Specific  Scaleability
Challenge
Application Interconnected systems, distributed systems, ultra-large scale systems, …
domain

Problem      Current research only studies evolution of individual systems.
             Solutions do not scale up to very large systems involving multiple
             languages, multiple levels of abstraction, different geographical locations,
             with hundreds or thousands of developers, a large (and diverse) user
             base, different data sources, …
Challenge    •  Provide techniques that support multi-language systems
             •  Cope with massive amounts of data (e.g. metadata, programs, models,
             languages, processes, tools, documentation, tests)
             •  Combine many different data sources (e.g. version repositories, file
             systems, databases, mailing lists, developer fora, bug tracking systems)
             •  Combine many different technologies and paradigms
             •  Performance: how to achieve it, and keep it when the system evolves
             •  Tools: how to debug and maintain such systems?

             • Study and support co-evolution of interconnected systems.
Specific  Software migration / re-engineering
Challenge

Application Any domain where “legacy” systems need to be upgraded to newer
domain      technologies

Problem     •  Legacy systems that are of strategic value to the company have become
            too expensive to modify, or need to make use of newer technologies
            •  “Wrapping” existing legacy systems is a short-term workaround solution
            that does not have long-term benefits
            •  Today’s new technology will be tomorrow’s legacy !

Challenge   •  How to migrate/re-engineer legacy systems (and their data) in a timely,
            cost-effective, resource-limited manner?
            •  How to ensure that the resulting system has the desired quality and
            functionality?
            •  How to migrate to new technologies and paradigms? (E.g. towards cloud
            computing, multi-core computing, and so on)
            •  How to use software transformation techniques to automate the
            migration process?
            •  Come up with good software process models for migration
Specific  Upgrading software frameworks
Challenge
Application ERP systems (e.g. SAP, Microsoft, Oracle, …), CMS systems, …
domain      Any software framework that is subject to customisation

Problem     Many major software vendors develop software frameworks, i.e., partial
            software systems that need to be customised by their clients.
            •  For vendors, upgrading such frameworks is problematic as it often
            conflicts with the customisations (add-ons, add-ins, plug-ins) made by the
            clients.
            •  Customers suffer from vendor lock-in, which threatens evolvability of
            their IT systems

Challenge   •  Provide techniques to address the upgrade problem and to facilitate
            framework development and upgrading
            •  Ensure data consistency and preservation after an upgrade
            •  Provide means to evolve frameworks away from vendor lock-in
Specific  Runtime evolution and dynamic updating
Challenge
Application Telecommunication, distributed systems, finance, internet applications
domain      Any domain that requires some degree of high availability

Problem      Many systems have become so indispensable that one cannot (afford to)
             shut them down to upgrade them
Challenge    •  How to safely update/change a software system during its execution?
             •  How to build in a control system to decide when and how to change?
             •  How to achieve dynamic reconfiguration of (component-based, service-
             oriented etc.) distributed architectures?
             •  Context-awareness: How to make software more robust to changes by
             dynamically adapting to its context of use.




Remark       The static evolution challenges are as least as important to industry as
             the dynamic evolution challenge stated here.
Specific      Model-driven evolution and maintenance
Challenge
Application   MDE,MDA,MDD
domain        Application domains where high-level models or domain-specific
              visual languages are/can be used
Problem       How to support evolution and reengineering of software that
              make heavy use of models (i.e. any kind of software artefact at a
              higher abstraction level than source code)
              Examples of models: business process models, analysis and
              design models, architectures, ...

Challenge     •  How to support traceability between software artefacts?
              •  How to cope with co-evolution
                   •  of models and code
                   •  of different types of models
                   •  of programs and data
              •  How to show that adopting MDE delivers a return-on-
              investment?
Generic       Software quality improvement and quality assurance
Challenge
Application   Any
domain
Problem       •  Software is too often suffering from poor quality and lack of
              evolvability
              •  Software quality and evolvability problems are not visible to
              managers
Challenge     •  Make software quality and evolvability visible to decision makers
              by providing integrated techniques and tools for measuring,
              controlling and improving these non-functional properties
              •  Based on measurable and visible quality problems, managers
              and project leaders can start to focus on medium- and long-term
              ROI, as opposed to quick-and-dirty solutions that have a direct
              profit but are difficult to maintain in the long run
Generic   Effort estimation and change impact analysis
Challenge
Application Any
domain
Problem     For a given change request, it is very difficult to analyse its impact
            or to estimate the effort it takes to implement it

Challenge   Provide non-intrusive tool support for logging current effort,
            measuring developer productivity, …
            in order to address the following questions:
            •  When should an accepted change request be planned?
            •  What is the estimated (local and system-wide) impact of a
            particular change?
            •  How much effort (time and resources) does it take to make a
            particular change?
            •  When and where should one restructure the software to make a
            planned change easier?
Generic       Integrate evolution support in software
Challenge        development processes and tools
Application   Any type of software development
domain
Problem       Current software development tools do not provide sufficient
              support for software evolution
Challenge     •  Provide better languages, formal methods, and tools that
              embrace and provide more explicit support for incremental
              change
              •  Design for change: address maintenance and evolution issues
              during initial development to create longer-lasting and enduring
              software systems
              •  Support co-evolution of requirements, design, code, tests
              •  Focus on quality and other non-functional attributes : need for
              integrated techniques to measure, control and improve these
              aspects of software
              •  Integrate process support in the development environment
Generic   Empirical research in software evolution
Challenge
Application Any
domain
Problem     Empirical research in software evolution is hard due to: lack of subjects,
            lack of industrial data, threats to validity


Challenge   •  How to access industrial data of how software evolves “in the field” and
            the ability to perform empirical studies based on this data?
            •  How to involve a sufficient number of subjects (e.g. experienced
            developers) in an experiment in order to obtain statistically significant
            results?
            •  How to set up an experiment in such a way that it is replicable by other
            researchers (access to data, tools, and other resources)?
            •  How to identify the main problems maintainers face?

            Open source partially addresses this problem: it is easier to access/study/
            analyse their data

Contenu connexe

Tendances

Ch 6 development plan and quality plan
Ch 6 development plan and quality planCh 6 development plan and quality plan
Ch 6 development plan and quality planKittitouch Suteeca
 
Software Quality Attributes
Software Quality AttributesSoftware Quality Attributes
Software Quality AttributesHayim Makabee
 
Mca se chapter_9_formal_methods
Mca se chapter_9_formal_methodsMca se chapter_9_formal_methods
Mca se chapter_9_formal_methodsAman Adhikari
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineeringHitesh Mohapatra
 
LEGACY SYSTEM In Software Engineering By NADEEM AHMED
LEGACY SYSTEM In Software Engineering By NADEEM AHMED LEGACY SYSTEM In Software Engineering By NADEEM AHMED
LEGACY SYSTEM In Software Engineering By NADEEM AHMED NA000000
 
Software Maintenance and Evolution
Software Maintenance and EvolutionSoftware Maintenance and Evolution
Software Maintenance and Evolutionkim.mens
 
Requirements Engineering - Stakeholders
Requirements Engineering - StakeholdersRequirements Engineering - Stakeholders
Requirements Engineering - StakeholdersBirgit Penzenstadler
 
System Quality Attributes for Software Architecture
System Quality Attributes for Software ArchitectureSystem Quality Attributes for Software Architecture
System Quality Attributes for Software ArchitectureAdnan Masood
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGSaqib Raza
 
Software evolution and maintenance
Software evolution and maintenanceSoftware evolution and maintenance
Software evolution and maintenanceFeliciano Colella
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineeringDarshit Metaliya
 
Domain-Specific Software Engineering
Domain-Specific Software EngineeringDomain-Specific Software Engineering
Domain-Specific Software Engineeringelliando dias
 
Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020 Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020 MuhammadTalha436
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9Ian Sommerville
 

Tendances (20)

Ch 6 development plan and quality plan
Ch 6 development plan and quality planCh 6 development plan and quality plan
Ch 6 development plan and quality plan
 
Software Quality Attributes
Software Quality AttributesSoftware Quality Attributes
Software Quality Attributes
 
Mca se chapter_9_formal_methods
Mca se chapter_9_formal_methodsMca se chapter_9_formal_methods
Mca se chapter_9_formal_methods
 
Introduction to software engineering
Introduction to software engineeringIntroduction to software engineering
Introduction to software engineering
 
LEGACY SYSTEM In Software Engineering By NADEEM AHMED
LEGACY SYSTEM In Software Engineering By NADEEM AHMED LEGACY SYSTEM In Software Engineering By NADEEM AHMED
LEGACY SYSTEM In Software Engineering By NADEEM AHMED
 
Process Models IN software Engineering
Process Models IN software EngineeringProcess Models IN software Engineering
Process Models IN software Engineering
 
Software Maintenance and Evolution
Software Maintenance and EvolutionSoftware Maintenance and Evolution
Software Maintenance and Evolution
 
Software Architecture
Software ArchitectureSoftware Architecture
Software Architecture
 
Requirements engineering
Requirements engineeringRequirements engineering
Requirements engineering
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software Reengineering
 
Requirements Engineering - Stakeholders
Requirements Engineering - StakeholdersRequirements Engineering - Stakeholders
Requirements Engineering - Stakeholders
 
System Quality Attributes for Software Architecture
System Quality Attributes for Software ArchitectureSystem Quality Attributes for Software Architecture
System Quality Attributes for Software Architecture
 
REQUIREMENT ENGINEERING
REQUIREMENT ENGINEERINGREQUIREMENT ENGINEERING
REQUIREMENT ENGINEERING
 
Software evolution and maintenance
Software evolution and maintenanceSoftware evolution and maintenance
Software evolution and maintenance
 
Design Concept software engineering
Design Concept software engineeringDesign Concept software engineering
Design Concept software engineering
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Unit 2
Unit 2Unit 2
Unit 2
 
Domain-Specific Software Engineering
Domain-Specific Software EngineeringDomain-Specific Software Engineering
Domain-Specific Software Engineering
 
Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020 Software Engineering Solved Past Paper 2020
Software Engineering Solved Past Paper 2020
 
Ch2-Software Engineering 9
Ch2-Software Engineering 9Ch2-Software Engineering 9
Ch2-Software Engineering 9
 

En vedette

เบ๊น
เบ๊นเบ๊น
เบ๊นbenzza
 
A study of the constraints affecting the proper utilization of computer appli...
A study of the constraints affecting the proper utilization of computer appli...A study of the constraints affecting the proper utilization of computer appli...
A study of the constraints affecting the proper utilization of computer appli...eSAT Journals
 
Bse 3105 lecture 3-software evolution planning
Bse 3105  lecture 3-software evolution planningBse 3105  lecture 3-software evolution planning
Bse 3105 lecture 3-software evolution planningAlonzee Tash
 
SIMULATION-BASED APPLICATION SOFTWARE DEVELOPMENT IN TIME-TRIGGERED COMMUNICA...
SIMULATION-BASED APPLICATION SOFTWARE DEVELOPMENT IN TIME-TRIGGERED COMMUNICA...SIMULATION-BASED APPLICATION SOFTWARE DEVELOPMENT IN TIME-TRIGGERED COMMUNICA...
SIMULATION-BASED APPLICATION SOFTWARE DEVELOPMENT IN TIME-TRIGGERED COMMUNICA...IJSEA
 
3 introduction
3 introduction3 introduction
3 introductionAlenaDion
 
Introduction to Software Reverse Engineering
Introduction to Software Reverse EngineeringIntroduction to Software Reverse Engineering
Introduction to Software Reverse EngineeringTeodoro Cipresso
 
Sofware engineering
Sofware engineeringSofware engineering
Sofware engineeringnstjelja
 
Software Technology Trends
Software Technology TrendsSoftware Technology Trends
Software Technology TrendsKMS Technology
 
Reverse Engineering of Software Architecture
Reverse Engineering of Software ArchitectureReverse Engineering of Software Architecture
Reverse Engineering of Software ArchitectureDharmalingam Ganesan
 
Software evolution evangelisation
Software evolution evangelisationSoftware evolution evangelisation
Software evolution evangelisationNicolas Anquetil
 
Software Evolution: From Legacy Systems, Service Oriented Architecture to Clo...
Software Evolution: From Legacy Systems, Service Oriented Architecture to Clo...Software Evolution: From Legacy Systems, Service Oriented Architecture to Clo...
Software Evolution: From Legacy Systems, Service Oriented Architecture to Clo...PET Computação
 
The dynamics of software evolution - EVOLUMONS 2011
The dynamics of software evolution - EVOLUMONS 2011The dynamics of software evolution - EVOLUMONS 2011
The dynamics of software evolution - EVOLUMONS 2011Israel Herraiz
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software ReengineeringAbdul Wahid
 
Software reverse engineering
Software reverse engineeringSoftware reverse engineering
Software reverse engineeringParminder Singh
 
Introduction to Software Evolution: The Software Volcano
Introduction to Software Evolution: The Software VolcanoIntroduction to Software Evolution: The Software Volcano
Introduction to Software Evolution: The Software VolcanoDevnology
 
Maintenance, Re-engineering &Reverse Engineering in Software Engineering
Maintenance,Re-engineering &Reverse Engineering in Software EngineeringMaintenance,Re-engineering &Reverse Engineering in Software Engineering
Maintenance, Re-engineering &Reverse Engineering in Software EngineeringManish Kumar
 
Software Re-Engineering
Software Re-EngineeringSoftware Re-Engineering
Software Re-EngineeringSaqib Raza
 
Using requirements to retrace software evolution history
Using requirements to retrace software evolution historyUsing requirements to retrace software evolution history
Using requirements to retrace software evolution historyNeil Ernst
 

En vedette (20)

Rep
RepRep
Rep
 
เบ๊น
เบ๊นเบ๊น
เบ๊น
 
A study of the constraints affecting the proper utilization of computer appli...
A study of the constraints affecting the proper utilization of computer appli...A study of the constraints affecting the proper utilization of computer appli...
A study of the constraints affecting the proper utilization of computer appli...
 
Bse 3105 lecture 3-software evolution planning
Bse 3105  lecture 3-software evolution planningBse 3105  lecture 3-software evolution planning
Bse 3105 lecture 3-software evolution planning
 
SIMULATION-BASED APPLICATION SOFTWARE DEVELOPMENT IN TIME-TRIGGERED COMMUNICA...
SIMULATION-BASED APPLICATION SOFTWARE DEVELOPMENT IN TIME-TRIGGERED COMMUNICA...SIMULATION-BASED APPLICATION SOFTWARE DEVELOPMENT IN TIME-TRIGGERED COMMUNICA...
SIMULATION-BASED APPLICATION SOFTWARE DEVELOPMENT IN TIME-TRIGGERED COMMUNICA...
 
3 introduction
3 introduction3 introduction
3 introduction
 
Introduction to Software Reverse Engineering
Introduction to Software Reverse EngineeringIntroduction to Software Reverse Engineering
Introduction to Software Reverse Engineering
 
Sofware engineering
Sofware engineeringSofware engineering
Sofware engineering
 
Software Technology Trends
Software Technology TrendsSoftware Technology Trends
Software Technology Trends
 
Reverse Engineering of Software Architecture
Reverse Engineering of Software ArchitectureReverse Engineering of Software Architecture
Reverse Engineering of Software Architecture
 
Software evolution evangelisation
Software evolution evangelisationSoftware evolution evangelisation
Software evolution evangelisation
 
Software Evolution: From Legacy Systems, Service Oriented Architecture to Clo...
Software Evolution: From Legacy Systems, Service Oriented Architecture to Clo...Software Evolution: From Legacy Systems, Service Oriented Architecture to Clo...
Software Evolution: From Legacy Systems, Service Oriented Architecture to Clo...
 
The dynamics of software evolution - EVOLUMONS 2011
The dynamics of software evolution - EVOLUMONS 2011The dynamics of software evolution - EVOLUMONS 2011
The dynamics of software evolution - EVOLUMONS 2011
 
Software Reengineering
Software ReengineeringSoftware Reengineering
Software Reengineering
 
Software reverse engineering
Software reverse engineeringSoftware reverse engineering
Software reverse engineering
 
Introduction to Software Evolution: The Software Volcano
Introduction to Software Evolution: The Software VolcanoIntroduction to Software Evolution: The Software Volcano
Introduction to Software Evolution: The Software Volcano
 
Maintenance, Re-engineering &Reverse Engineering in Software Engineering
Maintenance,Re-engineering &Reverse Engineering in Software EngineeringMaintenance,Re-engineering &Reverse Engineering in Software Engineering
Maintenance, Re-engineering &Reverse Engineering in Software Engineering
 
Software Re-Engineering
Software Re-EngineeringSoftware Re-Engineering
Software Re-Engineering
 
Software Evolution
Software EvolutionSoftware Evolution
Software Evolution
 
Using requirements to retrace software evolution history
Using requirements to retrace software evolution historyUsing requirements to retrace software evolution history
Using requirements to retrace software evolution history
 

Similaire à Future Research Challenges in Software Evolution

Unit 1 importance ofsoftengg_b.tech iii year
Unit 1  importance ofsoftengg_b.tech iii yearUnit 1  importance ofsoftengg_b.tech iii year
Unit 1 importance ofsoftengg_b.tech iii yearPreeti Mishra
 
Unit 1 introduction tosoftengg_mba tech ii year
Unit 1  introduction tosoftengg_mba tech ii yearUnit 1  introduction tosoftengg_mba tech ii year
Unit 1 introduction tosoftengg_mba tech ii yearPreeti Mishra
 
Software engineering
Software engineeringSoftware engineering
Software engineeringArshad Ali
 
Java learn from basic part chapter_01 short notes to understand the java quic...
Java learn from basic part chapter_01 short notes to understand the java quic...Java learn from basic part chapter_01 short notes to understand the java quic...
Java learn from basic part chapter_01 short notes to understand the java quic...GaytriMate
 
Week_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.pptWeek_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.ppt23017156038
 
Software Engineering
Software EngineeringSoftware Engineering
Software EngineeringMohamed Essam
 
Beit 381 se lec 2 - 27 - 12 feb08
Beit 381 se lec 2 - 27 - 12 feb08Beit 381 se lec 2 - 27 - 12 feb08
Beit 381 se lec 2 - 27 - 12 feb08babak danyal
 
Lecture1 (SE Introduction)
Lecture1 (SE Introduction)Lecture1 (SE Introduction)
Lecture1 (SE Introduction)Education Front
 
An introduction to software engineering
An introduction to software engineeringAn introduction to software engineering
An introduction to software engineeringSHREEHARI WADAWADAGI
 
unit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshunit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshsagarjsicg
 
Recent and-future-trends spm
Recent and-future-trends spmRecent and-future-trends spm
Recent and-future-trends spmPrakash Poudel
 

Similaire à Future Research Challenges in Software Evolution (20)

Unit 1 importance ofsoftengg_b.tech iii year
Unit 1  importance ofsoftengg_b.tech iii yearUnit 1  importance ofsoftengg_b.tech iii year
Unit 1 importance ofsoftengg_b.tech iii year
 
Unit 1 introduction tosoftengg_mba tech ii year
Unit 1  introduction tosoftengg_mba tech ii yearUnit 1  introduction tosoftengg_mba tech ii year
Unit 1 introduction tosoftengg_mba tech ii year
 
Software engineering
Software engineeringSoftware engineering
Software engineering
 
Java learn from basic part chapter_01 short notes to understand the java quic...
Java learn from basic part chapter_01 short notes to understand the java quic...Java learn from basic part chapter_01 short notes to understand the java quic...
Java learn from basic part chapter_01 short notes to understand the java quic...
 
Week_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.pptWeek_01-Intro to Software Engineering-1.ppt
Week_01-Intro to Software Engineering-1.ppt
 
Software Engineering
Software EngineeringSoftware Engineering
Software Engineering
 
SE
SESE
SE
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
Beit 381 se lec 2 - 27 - 12 feb08
Beit 381 se lec 2 - 27 - 12 feb08Beit 381 se lec 2 - 27 - 12 feb08
Beit 381 se lec 2 - 27 - 12 feb08
 
lect1.pdf
lect1.pdflect1.pdf
lect1.pdf
 
Lecture1 (SE Introduction)
Lecture1 (SE Introduction)Lecture1 (SE Introduction)
Lecture1 (SE Introduction)
 
Intro
IntroIntro
Intro
 
An introduction to software engineering
An introduction to software engineeringAn introduction to software engineering
An introduction to software engineering
 
A Software Engineer
A Software EngineerA Software Engineer
A Software Engineer
 
unit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbshunit 1.pptx regasts sthatbabs shshsbsvsbsh
unit 1.pptx regasts sthatbabs shshsbsvsbsh
 
Recent and-future-trends spm
Recent and-future-trends spmRecent and-future-trends spm
Recent and-future-trends spm
 
1
11
1
 
1 introduction
1 introduction1 introduction
1 introduction
 
1 introduction (1)
1 introduction (1)1 introduction (1)
1 introduction (1)
 
Scope of software engineering
Scope of software engineeringScope of software engineering
Scope of software engineering
 

Plus de Tom Mens

How to be(come) a successful PhD student
How to be(come) a successful PhD studentHow to be(come) a successful PhD student
How to be(come) a successful PhD studentTom Mens
 
Recognising bot activity in collaborative software development
Recognising bot activity in collaborative software developmentRecognising bot activity in collaborative software development
Recognising bot activity in collaborative software developmentTom Mens
 
A Dataset of Bot and Human Activities in GitHub
A Dataset of Bot and Human Activities in GitHubA Dataset of Bot and Human Activities in GitHub
A Dataset of Bot and Human Activities in GitHubTom Mens
 
The (r)evolution of CI/CD on GitHub
 The (r)evolution of CI/CD on GitHub The (r)evolution of CI/CD on GitHub
The (r)evolution of CI/CD on GitHubTom Mens
 
Nurturing the Software Ecosystems of the Future
Nurturing the Software Ecosystems of the FutureNurturing the Software Ecosystems of the Future
Nurturing the Software Ecosystems of the FutureTom Mens
 
Comment programmer un robot en 30 minutes?
Comment programmer un robot en 30 minutes?Comment programmer un robot en 30 minutes?
Comment programmer un robot en 30 minutes?Tom Mens
 
On the rise and fall of CI services in GitHub
On the rise and fall of CI services in GitHubOn the rise and fall of CI services in GitHub
On the rise and fall of CI services in GitHubTom Mens
 
On backporting practices in package dependency networks
On backporting practices in package dependency networksOn backporting practices in package dependency networks
On backporting practices in package dependency networksTom Mens
 
Comparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
Comparing semantic versioning practices in Cargo, npm, Packagist and RubygemsComparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
Comparing semantic versioning practices in Cargo, npm, Packagist and RubygemsTom Mens
 
Lost in Zero Space
Lost in Zero SpaceLost in Zero Space
Lost in Zero SpaceTom Mens
 
Evaluating a bot detection model on git commit messages
Evaluating a bot detection model on git commit messagesEvaluating a bot detection model on git commit messages
Evaluating a bot detection model on git commit messagesTom Mens
 
Is my software ecosystem healthy? It depends!
Is my software ecosystem healthy? It depends!Is my software ecosystem healthy? It depends!
Is my software ecosystem healthy? It depends!Tom Mens
 
Bot or not? Detecting bots in GitHub pull request activity based on comment s...
Bot or not? Detecting bots in GitHub pull request activity based on comment s...Bot or not? Detecting bots in GitHub pull request activity based on comment s...
Bot or not? Detecting bots in GitHub pull request activity based on comment s...Tom Mens
 
On the fragility of open source software packaging ecosystems
On the fragility of open source software packaging ecosystemsOn the fragility of open source software packaging ecosystems
On the fragility of open source software packaging ecosystemsTom Mens
 
How magic is zero? An Empirical Analysis of Initial Development Releases in S...
How magic is zero? An Empirical Analysis of Initial Development Releases in S...How magic is zero? An Empirical Analysis of Initial Development Releases in S...
How magic is zero? An Empirical Analysis of Initial Development Releases in S...Tom Mens
 
Comparing dependency issues across software package distributions (FOSDEM 2020)
Comparing dependency issues across software package distributions (FOSDEM 2020)Comparing dependency issues across software package distributions (FOSDEM 2020)
Comparing dependency issues across software package distributions (FOSDEM 2020)Tom Mens
 
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)Measuring Technical Lag in Software Deployments (CHAOSScon 2020)
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)Tom Mens
 
SecoHealth 2019 Research Achievements
SecoHealth 2019 Research AchievementsSecoHealth 2019 Research Achievements
SecoHealth 2019 Research AchievementsTom Mens
 
SECO-Assist 2019 research seminar
SECO-Assist 2019 research seminarSECO-Assist 2019 research seminar
SECO-Assist 2019 research seminarTom Mens
 
Empirically Analysing the Socio-Technical Health of Software Package Managers
Empirically Analysing the Socio-Technical Health of Software Package ManagersEmpirically Analysing the Socio-Technical Health of Software Package Managers
Empirically Analysing the Socio-Technical Health of Software Package ManagersTom Mens
 

Plus de Tom Mens (20)

How to be(come) a successful PhD student
How to be(come) a successful PhD studentHow to be(come) a successful PhD student
How to be(come) a successful PhD student
 
Recognising bot activity in collaborative software development
Recognising bot activity in collaborative software developmentRecognising bot activity in collaborative software development
Recognising bot activity in collaborative software development
 
A Dataset of Bot and Human Activities in GitHub
A Dataset of Bot and Human Activities in GitHubA Dataset of Bot and Human Activities in GitHub
A Dataset of Bot and Human Activities in GitHub
 
The (r)evolution of CI/CD on GitHub
 The (r)evolution of CI/CD on GitHub The (r)evolution of CI/CD on GitHub
The (r)evolution of CI/CD on GitHub
 
Nurturing the Software Ecosystems of the Future
Nurturing the Software Ecosystems of the FutureNurturing the Software Ecosystems of the Future
Nurturing the Software Ecosystems of the Future
 
Comment programmer un robot en 30 minutes?
Comment programmer un robot en 30 minutes?Comment programmer un robot en 30 minutes?
Comment programmer un robot en 30 minutes?
 
On the rise and fall of CI services in GitHub
On the rise and fall of CI services in GitHubOn the rise and fall of CI services in GitHub
On the rise and fall of CI services in GitHub
 
On backporting practices in package dependency networks
On backporting practices in package dependency networksOn backporting practices in package dependency networks
On backporting practices in package dependency networks
 
Comparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
Comparing semantic versioning practices in Cargo, npm, Packagist and RubygemsComparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
Comparing semantic versioning practices in Cargo, npm, Packagist and Rubygems
 
Lost in Zero Space
Lost in Zero SpaceLost in Zero Space
Lost in Zero Space
 
Evaluating a bot detection model on git commit messages
Evaluating a bot detection model on git commit messagesEvaluating a bot detection model on git commit messages
Evaluating a bot detection model on git commit messages
 
Is my software ecosystem healthy? It depends!
Is my software ecosystem healthy? It depends!Is my software ecosystem healthy? It depends!
Is my software ecosystem healthy? It depends!
 
Bot or not? Detecting bots in GitHub pull request activity based on comment s...
Bot or not? Detecting bots in GitHub pull request activity based on comment s...Bot or not? Detecting bots in GitHub pull request activity based on comment s...
Bot or not? Detecting bots in GitHub pull request activity based on comment s...
 
On the fragility of open source software packaging ecosystems
On the fragility of open source software packaging ecosystemsOn the fragility of open source software packaging ecosystems
On the fragility of open source software packaging ecosystems
 
How magic is zero? An Empirical Analysis of Initial Development Releases in S...
How magic is zero? An Empirical Analysis of Initial Development Releases in S...How magic is zero? An Empirical Analysis of Initial Development Releases in S...
How magic is zero? An Empirical Analysis of Initial Development Releases in S...
 
Comparing dependency issues across software package distributions (FOSDEM 2020)
Comparing dependency issues across software package distributions (FOSDEM 2020)Comparing dependency issues across software package distributions (FOSDEM 2020)
Comparing dependency issues across software package distributions (FOSDEM 2020)
 
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)Measuring Technical Lag in Software Deployments (CHAOSScon 2020)
Measuring Technical Lag in Software Deployments (CHAOSScon 2020)
 
SecoHealth 2019 Research Achievements
SecoHealth 2019 Research AchievementsSecoHealth 2019 Research Achievements
SecoHealth 2019 Research Achievements
 
SECO-Assist 2019 research seminar
SECO-Assist 2019 research seminarSECO-Assist 2019 research seminar
SECO-Assist 2019 research seminar
 
Empirically Analysing the Socio-Technical Health of Software Package Managers
Empirically Analysing the Socio-Technical Health of Software Package ManagersEmpirically Analysing the Socio-Technical Health of Software Package Managers
Empirically Analysing the Socio-Technical Health of Software Package Managers
 

Dernier

Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...pradhanghanshyam7136
 
Interdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxInterdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxPooja Bhuva
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxheathfieldcps1
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxAmanpreet Kaur
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.MaryamAhmad92
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and ModificationsMJDuyan
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsMebane Rash
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - Englishneillewis46
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseAnaAcapella
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfAdmir Softic
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxmarlenawright1
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structuredhanjurrannsibayan2
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...ZurliaSoop
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17Celine George
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfNirmal Dwivedi
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSCeline George
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Pooja Bhuva
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptxMaritesTamaniVerdade
 

Dernier (20)

Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...Kodo Millet  PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
Kodo Millet PPT made by Ghanshyam bairwa college of Agriculture kumher bhara...
 
Interdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptxInterdisciplinary_Insights_Data_Collection_Methods.pptx
Interdisciplinary_Insights_Data_Collection_Methods.pptx
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptxSKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
SKILL OF INTRODUCING THE LESSON MICRO SKILLS.pptx
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Understanding Accommodations and Modifications
Understanding  Accommodations and ModificationsUnderstanding  Accommodations and Modifications
Understanding Accommodations and Modifications
 
On National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan FellowsOn National Teacher Day, meet the 2024-25 Kenan Fellows
On National Teacher Day, meet the 2024-25 Kenan Fellows
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
Spellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please PractiseSpellings Wk 3 English CAPS CARES Please Practise
Spellings Wk 3 English CAPS CARES Please Practise
 
Key note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdfKey note speaker Neum_Admir Softic_ENG.pdf
Key note speaker Neum_Admir Softic_ENG.pdf
 
Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024Mehran University Newsletter Vol-X, Issue-I, 2024
Mehran University Newsletter Vol-X, Issue-I, 2024
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
Single or Multiple melodic lines structure
Single or Multiple melodic lines structureSingle or Multiple melodic lines structure
Single or Multiple melodic lines structure
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Spatium Project Simulation student brief
Spatium Project Simulation student briefSpatium Project Simulation student brief
Spatium Project Simulation student brief
 
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdfUGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
UGC NET Paper 1 Mathematical Reasoning & Aptitude.pdf
 
How to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POSHow to Manage Global Discount in Odoo 17 POS
How to Manage Global Discount in Odoo 17 POS
 
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
Sensory_Experience_and_Emotional_Resonance_in_Gabriel_Okaras_The_Piano_and_Th...
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 

Future Research Challenges in Software Evolution

  • 1. Future Research Challenges in Software Evolution Tom Mens Université de Mons General Chair of the ERCIM Working Group on Software Evolution With contributions from other WG members: Y.-G. Guéhéneuc, J. Buckley, R. Mittermeir, A. Winter, J. Muccini, R. Wuyts, R. Laemmel, S. Ducasse, J.M. Jézéquel, K. Mens, J. Visser
  • 2. Some references used in this presentation •  L. Erlikh. Leveraging legacy system dollars for E-business. IT Pro, May/June, pages 17-23, IEEE Press, 2000 •  T. Mens, M. Wermelinger, S. Ducasse, S. Demeyer, R. Hirschfeld, and M. Jazayeri. Challenges in software evolution. In Proc. Int’l Workshop on Principles of Software Evolution (IWPSE), 2005. •  N. H. Madhavji, J. F. Ramil, D. E. Perry. Software Evolution and Feedback: Theory and Practice. John Wiley & Sons, 2006. •  S. R. Schach. Object Oriented Software Engineering, McGraw Hill, 2008. ISBN 978-007-125941-5 •  T. Mens, S. Demeyer. Software Evolution. Springer, 2008 •  T. Mens, The ERCIM Working Group on Software Evolution: the Past and the Future. Proc. IWPSE-EVOL 2009 (ESEC /FSE proceedings), ACM, 2009 •  T. Mens. CSMR 2009 European Projects Track. Proc. CSMR, pages 275–276. IEEE, 2009
  • 3. PhDs in Europe in the domain of software evolution (data for 2009 not yet included)
  • 4. Observations Software change/evolution is •  inevitable •  unpredictable •  costly •  difficult •  time- and resource-consuming •  poorly supported by tools, techniques, formalisms •  underestimated by managers •  poorly understood •  If performed well, a major success factor for business innovation !
  • 5. Software changes are unavoidable / inevitable •  Continuous business innovation •  Is essential for competitiveness and survival of companies •  Is an important driver of software evolution •  Requirements changes due to •  New customers; existing customers with new demands •  Changes in organisational structure; competitors •  Changes in legislation •  Feedback loop: The changed software may be the reason why the environment changes ! •  Continuous software quality improvement •  Bug fixes •  Improvement of quality, performance, reliability, … •  Anti-regressive work to counter software ageing/erosion •  Changes in external environment •  New hardware and software technologies •  New versions of interacting software
  • 6. Changing software is costly (Schach, 2008): Most of the effort and cost is spent on post-delivery maintenance based on various data sources Average cost between Average cost between 1976 and 1981 1992 and 1998 Development 25% Development 33% Maintenance 67% Maintenance 75% (Erlikh, 2000, IT Pro) “Leveraging legacy system dollars for E-business” more than 90% of companies resources dedicated to software maintenance
  • 7. How/why is software evolution research relevant to society and industry? Software evolution is a transversal research activity that is required •  In all software engineering activities •  E.g. requirements specifications, analysis and design, programming, deployment, … •  At all levels of abstraction •  E.g. executable code, bytecode, source code, design models, … •  In all software development paradigms •  For all technologies •  In a wide variety of application domains •  For many different types of “stakeholders”
  • 8. Software Evolution Challenges The order of the following list of challenges does not reflect their relative importance. We consider them all very important. Some challenges are generic (i.e. relevant to any type of software), while others are specific to a particular domain
  • 9. Specific Scaleability Challenge Application Interconnected systems, distributed systems, ultra-large scale systems, … domain Problem Current research only studies evolution of individual systems. Solutions do not scale up to very large systems involving multiple languages, multiple levels of abstraction, different geographical locations, with hundreds or thousands of developers, a large (and diverse) user base, different data sources, … Challenge •  Provide techniques that support multi-language systems •  Cope with massive amounts of data (e.g. metadata, programs, models, languages, processes, tools, documentation, tests) •  Combine many different data sources (e.g. version repositories, file systems, databases, mailing lists, developer fora, bug tracking systems) •  Combine many different technologies and paradigms •  Performance: how to achieve it, and keep it when the system evolves •  Tools: how to debug and maintain such systems? • Study and support co-evolution of interconnected systems.
  • 10. Specific Software migration / re-engineering Challenge Application Any domain where “legacy” systems need to be upgraded to newer domain technologies Problem •  Legacy systems that are of strategic value to the company have become too expensive to modify, or need to make use of newer technologies •  “Wrapping” existing legacy systems is a short-term workaround solution that does not have long-term benefits •  Today’s new technology will be tomorrow’s legacy ! Challenge •  How to migrate/re-engineer legacy systems (and their data) in a timely, cost-effective, resource-limited manner? •  How to ensure that the resulting system has the desired quality and functionality? •  How to migrate to new technologies and paradigms? (E.g. towards cloud computing, multi-core computing, and so on) •  How to use software transformation techniques to automate the migration process? •  Come up with good software process models for migration
  • 11. Specific Upgrading software frameworks Challenge Application ERP systems (e.g. SAP, Microsoft, Oracle, …), CMS systems, … domain Any software framework that is subject to customisation Problem Many major software vendors develop software frameworks, i.e., partial software systems that need to be customised by their clients. •  For vendors, upgrading such frameworks is problematic as it often conflicts with the customisations (add-ons, add-ins, plug-ins) made by the clients. •  Customers suffer from vendor lock-in, which threatens evolvability of their IT systems Challenge •  Provide techniques to address the upgrade problem and to facilitate framework development and upgrading •  Ensure data consistency and preservation after an upgrade •  Provide means to evolve frameworks away from vendor lock-in
  • 12. Specific Runtime evolution and dynamic updating Challenge Application Telecommunication, distributed systems, finance, internet applications domain Any domain that requires some degree of high availability Problem Many systems have become so indispensable that one cannot (afford to) shut them down to upgrade them Challenge •  How to safely update/change a software system during its execution? •  How to build in a control system to decide when and how to change? •  How to achieve dynamic reconfiguration of (component-based, service- oriented etc.) distributed architectures? •  Context-awareness: How to make software more robust to changes by dynamically adapting to its context of use. Remark The static evolution challenges are as least as important to industry as the dynamic evolution challenge stated here.
  • 13. Specific Model-driven evolution and maintenance Challenge Application MDE,MDA,MDD domain Application domains where high-level models or domain-specific visual languages are/can be used Problem How to support evolution and reengineering of software that make heavy use of models (i.e. any kind of software artefact at a higher abstraction level than source code) Examples of models: business process models, analysis and design models, architectures, ... Challenge •  How to support traceability between software artefacts? •  How to cope with co-evolution •  of models and code •  of different types of models •  of programs and data •  How to show that adopting MDE delivers a return-on- investment?
  • 14. Generic Software quality improvement and quality assurance Challenge Application Any domain Problem •  Software is too often suffering from poor quality and lack of evolvability •  Software quality and evolvability problems are not visible to managers Challenge •  Make software quality and evolvability visible to decision makers by providing integrated techniques and tools for measuring, controlling and improving these non-functional properties •  Based on measurable and visible quality problems, managers and project leaders can start to focus on medium- and long-term ROI, as opposed to quick-and-dirty solutions that have a direct profit but are difficult to maintain in the long run
  • 15. Generic Effort estimation and change impact analysis Challenge Application Any domain Problem For a given change request, it is very difficult to analyse its impact or to estimate the effort it takes to implement it Challenge Provide non-intrusive tool support for logging current effort, measuring developer productivity, … in order to address the following questions: •  When should an accepted change request be planned? •  What is the estimated (local and system-wide) impact of a particular change? •  How much effort (time and resources) does it take to make a particular change? •  When and where should one restructure the software to make a planned change easier?
  • 16. Generic Integrate evolution support in software Challenge development processes and tools Application Any type of software development domain Problem Current software development tools do not provide sufficient support for software evolution Challenge •  Provide better languages, formal methods, and tools that embrace and provide more explicit support for incremental change •  Design for change: address maintenance and evolution issues during initial development to create longer-lasting and enduring software systems •  Support co-evolution of requirements, design, code, tests •  Focus on quality and other non-functional attributes : need for integrated techniques to measure, control and improve these aspects of software •  Integrate process support in the development environment
  • 17. Generic Empirical research in software evolution Challenge Application Any domain Problem Empirical research in software evolution is hard due to: lack of subjects, lack of industrial data, threats to validity Challenge •  How to access industrial data of how software evolves “in the field” and the ability to perform empirical studies based on this data? •  How to involve a sufficient number of subjects (e.g. experienced developers) in an experiment in order to obtain statistically significant results? •  How to set up an experiment in such a way that it is replicable by other researchers (access to data, tools, and other resources)? •  How to identify the main problems maintainers face? Open source partially addresses this problem: it is easier to access/study/ analyse their data