evolving critical systems

Evolving Critical Systems: Essential Articles on Software Engineering

Publication Type:

Conference Proceedings

Source:

IEEE (2011)

URL:

http://www.computer.org/portal/web/store?product_id=ES0000036&category_id=TechSets

Keywords:

Evolving Critical Systems; ECS; Software Engineering

Abstract:

As the ubiquity and complexity of software increase, a requirement has emerged for critical software that can successfully evolve without loss of quality - software that is engineered from the start to be easily changed, extended, and reconfigured, while retaining its security, its performance, and its reliability and predictability.

The articles in this EssentialSet bring together the perspectives of key software engineering researchers and practitioners who both influence their organizations and evaluate the emerging practice of developing these new systems.

Guest Editors' Introduction: Evolving Critical Systems

Publication Type:

Journal Article

Source:

Computer, Volume 43, Issue 5, p.28-33 (2010)

Keywords:

ecs; software evolution; software evolution; evolving critical systems; lero

Evolving Critical Systems: A Research Agenda for Computer-Based Systems

Publication Type:

Conference Paper

Source:

17th IEEE International Conference on the Engineering of Computer-Based Systems, IEEE Computer Society, Oxford, UK, p.430-435 (2010)

Keywords:

ecs; software evolution; software evolution; evolving critical systems; lero

Abstract:

Increasingly software can be considered to be critical, due to the business or other functionality which it supports. Upgrades or changes to such software are expensive and risky, primarily because the software has not been designed and built for ease of change. Expertise, tools and methodologies which support the design and implementation of software systems that evolve without risk (of failure or loss of quality) are essential. We address a research agenda for building software in computer-based systems that (a) is highly reliable and (b) retains this reliability as it evolves, either over time or at run-time.

Evolving Critical Systems

Publication Type:

Conference Paper

Source:

17th IEEE International Conference on the Engineering of Computer-Based Systems, IEEE Computer Society, Oxford, UK, p.4 (2010)

Keywords:

ecs; software evolution; software evolution; evolving critical systems; lero

Abstract:

Increasingly software can be considered to be critical, due to the business or other functionality which it supports. Upgrades or changes to such software are expensive and risky, primarily because the software has not been designed and built for ease of change. Expertise, tools and methodologies which support the design and implementation of software systems that evolve without risk (of failure or loss of quality) are essential. We address a research agenda for building software that (a) is highly reliable and (b) retains this reliability as it evolves, either over time or at run-time. We propose Evolving Critical Systems as an area for research to tackle the challenge and outline a number of scenarios to highlight some of the important research questions that should be asked of the community. Given that software evolution can be seen as a compromise between cost and risk, the most pressing question to ask is which processes, techniques and tools are most cost-effective for evolving critical systems?

Notes:

Keynote Presentation

Evolving Critical Systems

Publication Type:

Report

Source:

University of Limerick, Limerick (2009)

URL:

http://www.lero.ie/ecs/whitepaper

Keywords:

ecs; software evolution; software evolution; evolving critical systems; lero

Abstract:

There are few areas of modern life in which software is not an important (though often invisible) component. The software in our lives is increasingly complex; its interaction with the real world means that its requirements are in a state of constant change (Lehman & Fernández-Ramil, 2006). Many non-software products and services, from healthcare to transport, education to business, depend on reliable, high-quality software.

Software engineering is the activity that applies engineering principles to software. It applies systematic, rigorous discipline to the design and development of software, much as civil engineering does to construction. Software engineering improves the quality, reliability and predictability of software systems, by generating knowledge, tools and processes that both facilitate and improve the software development process. These qualities are essential wherever software failure might lead to significant safety, security, or economic losses.

Software systems frequently need to be modified in response to changes in system requirements and in their operational environment (Swanson, 1976). Such modification may involve the addition of new functionality, the adjustment of existing functions, or the wholesale replacement of entire systems. All such change is fraught with uncertainty – software projects involving change frequently fail to meet requirements, run over time and budget, or are abandoned (Rajlich and Bennett, 2000). As the ubiquity and complexity of software increase, a requirement has emerged for critical software which can successfully evolve without loss of quality—software that is engineered from the start to be easily changed, extended and reconfigured, while retaining its security, its performance, its reliability and predictability.

Syndicate content