<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Safety vs. Sustainability Design: Analogies, Differences and Potential Synergies</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Guillermo Rodriguez-Navas</string-name>
          <email>guillermo.rodriguez-navas@mdh.se</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Leticia Duboc</string-name>
          <email>leticia@ime.uerj.br</email>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Stefanie Betz</string-name>
          <email>stefanie.betz@kit.edu</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ruzanna Chitchyan</string-name>
          <email>rc256@leicester.ac.uk</email>
          <xref ref-type="aff" rid="aff5">5</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Birgit Penzenstadler</string-name>
          <email>birgit.penzenstadler@csulb.edu</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Colin C. Venters</string-name>
          <email>c.venters@hud.ac.uk</email>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>California State University Long Beach</institution>
          ,
          <addr-line>California</addr-line>
          ,
          <country country="US">USA</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Karlsruhe Institute for Technology</institution>
          ,
          <addr-line>Karlsruhe</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Ma ̈lardalen University</institution>
          ,
          <addr-line>Va ̈steras</addr-line>
          ,
          <country country="SE">Sweden</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>State University of Rio de Janeiro</institution>
          ,
          <addr-line>Rio de Janeiro</addr-line>
          ,
          <country country="BR">Brazil</country>
        </aff>
        <aff id="aff4">
          <label>4</label>
          <institution>University of Huddersfield</institution>
          ,
          <addr-line>Huddersfield</addr-line>
          ,
          <country country="UK">UK</country>
        </aff>
        <aff id="aff5">
          <label>5</label>
          <institution>University of Leicester</institution>
          ,
          <addr-line>Leicester</addr-line>
          ,
          <country country="UK">UK</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>-The idea that there are important parallels between safety and sustainability and that software engineers might be able to take lessons learned from safety and apply them to sustainability has been voiced and initially explored before. This paper extends the analysis of similarities, differences, and potential synergies between the two concepts, according to four different dimensions of these domains: systemicity, complexity, certification and social perception. Index Terms-Sustainability, safety, non-functional requirements.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>I. INTRODUCTION</title>
      <p>
        Driven by the recent increased interest on sustainability
topics, software engineering researchers have turned to study
the methods and techniques that could facilitate sustainability
engineering in and through software systems. Some authors
have pointed out that safety shares many common aspects with
sustainability, and that system designers might be able to take
lessons learned from safety, and apply them to
sustainability [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. But up to date only very preliminary analyses have
been performed, which shedded little light on how to achieve
this goal.
      </p>
      <p>
        Safety engineering is a very mature discipline. It originated
in the field of process control and spread towards the field
of computer systems back in the 80’s, when digital control
started to be used for critical applications; see e.g. [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. In last
decades, the safety aspects of software have received even
more attention, because of the ubiquity of computer systems
in almost every aspect of our daily life. Any software-based
systems used in a critical application, such as transportation,
health-care or energy systems, must nowadays adhere to strict
safety regulations and best practices; otherwise, these products
cannot be certified. Many companies share and openly promote
this concern for safety, as part of their corporate image. Thus,
one could say that safety, and specifically software safety, has
already reached some of the goals that sustainability design
is still defining, and can be a source of inspiration for this
domain.
      </p>
      <p>
        Yet, today there is no clear understanding of how exactly
the safety and sustainability domains can be related. Disparate
views can be found in the literature: whereas some authors
report that “safety must be traded for increased sustainability”
(in the context of vehicle design [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]), others claim that “safety
can bring more sustainability” (in the context of intelligent
transportation systems [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]). Others advocate the integration of
safety with systems thinking, by introducing sociotechnical
aspects [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] that can help to handle the complexity of some of
the current safety-critical systems.
      </p>
      <p>
        The goal of this paper is to critically review the similarities,
differences, and potential synergies between these two
domains, with special emphasis on the early analysis and design
phases. This work is the result of an open on-going dialogue
between researchers on sustainability design and software
safety design, which was sparked by the elaboration of the
Karlskrona Manifesto for Sustainability Design [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Some
questions we wish to answer are: what sustainability can learn
from safety? Which aspects of safety are similar and useful
for sustainability design? Which, if any, of the techniques
for safety design can be applicable for sustainability? In
which respects does the domain of sustainability differ from
safety? What extensions/additions/changes does handling such
differentiation require for sustainability design?
      </p>
      <p>Even if the answers to these questions are interesting to
software engineers in general, they can be particularly useful
to the requirements engineers. Requirements engineering helps
to identify the relevant stakeholders and to shape the scope and
purpose of the system. If these are made without consideration
for sustainability, the rest of the software development
activities, including verification, are unlikely to produce systems
that will support this important concern.</p>
      <p>Copyright c 2015 for this paper by its authors. Copying permitted for private and academic purposes.</p>
      <p>Finally, although the relevant literature has been reviewed
(in Section 3 below), our intention is not to provide a
systematic literature survey of the intersection between these two
areas, but instead to provide a new understanding of their
relationship. This paper is organized as follows: it introduces
the basic concepts of safety and sustainability in Section 2,
followed by a summary of existing works comparing both
concepts, in Section 3. Section 4 discusses the parallels
between safety and sustainability, while Section 5 summaries
the paper and presents our conclusions.</p>
    </sec>
    <sec id="sec-2">
      <title>II. BACKGROUND Before comparing safety and sustainability and their relationships with software engineering, we will briefly review the fundamental notions of these two domains.</title>
      <sec id="sec-2-1">
        <title>A. Safety</title>
        <p>
          Safety is typically defined as freedom from accidents or
losses [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. Thus, safety aims at a methodology avoiding
present and potential losses which can be caused by
unexpected events (called accidents) or poor (unreliable) service
of the system.
        </p>
        <p>Traditionally, an accident is seen as an undesired and
unplanned (but not necessarily unexpected) chain of events
that results in loss. Sometimes this chain of events does not
cause a loss at a given time and under specific conditions,
but that loss could potentially be incurred under different
conditions; such events are called “near miss” or “incident”.</p>
        <p>To manage the avoidance of accidents, safety engineering
looks for their possible causes (called hazards) and assesses
the probability of an accident along with the seriousness of
resultant losses (called risk). A hazard is a state or set of
conditions of a system (or an object) that, together with other
conditions in the environment of the system (or object), will
lead inevitably to an accident (loss event). Thereby, a hazard
is defined with respect to the environment of the system or
component, and what constitutes a hazard depends upon where
the boundaries of the system are drawn.</p>
        <p>
          Risk is the severity of a hazard combined with (1) the
likelihood of the hazard leading to an accident (sometimes called
danger) and (2) hazard exposure or duration (sometimes called
latency) [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. A common way to assign risk is through Safety
Integrity Level (SIL), but other measures exist, depending of
the adopted safety standard [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ].
        </p>
        <p>
          Reliability is the probability that a piece of equipment or
component performs its intended function for a prescribed
time and under stipulated environmental conditions. While
dependability is concerned with the incidence of failures
and aims at increasing reliability; safety is concerned with
the occurrence of accidents or mishaps [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]. Where system
failures are defined in terms of system services, safety is
defined in terms of external consequences. If the required
system services are specified incorrectly, then a system may be
unsafe, though perfectly reliable. Conversely, it is feasible for
a system to be safe, but unreliable. Enhancing the reliability of
software components, though desirable and perhaps necessary,
is not sufficient to ensure that they will not contribute to a
mishap [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ].
        </p>
        <p>
          Hazard analysis is the process of identifying the different
types of hazards a system may experience and their causes.
Hazard analysis is performed at several different stages in
the design lifecycle (e.g., preliminary, subsystem, system,
and operational hazard analysis), and there are a number of
supporting methodologies (e.g., hazard and operability studies,
or HAZOPS, fault tree analysis, or FTA, and failure modes and
effects analysis, or FMEA [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ], [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ].
        </p>
        <p>The basic idea in safety is to focus on the consequences
that must be avoided rather than on the requirements of the
system itself (since those might be the very source of undesired
consequences). Next, because the occurrence or nonoccurrence
of a mishap may depend on circumstances beyond the control
of the system under consideration, attention is focused on
preventing hazards, which are conditions (i.e., states of the
controlled system) that can lead to a mishap, rather than
preventing mishaps directly.</p>
        <p>
          Different techniques and strategies can be applied in order
to eliminate or mitigate system hazards. Regarding the design
of system safety measures, a set of five principles has been
defined in [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ], which can be considered general and thus
applicable to software.
        </p>
        <p>1) The fail-safe principle. This principle requires that the
failure of a component results in an operational state that
cannot contribute to the chain of events potentially
causing an accident. This principle is not always realizable,
but should be considered for every component.
2) The safety margins principle states that the “safe”
operational state must be defined with certain distance (or
tolerance) from the hazard threshold, so as to
accomodate uncertainties.
3) The un-graduated response principle recommends to not
apply countermeasures progressively, but to try the most
aggressive approach first, in order to block the chain
of events potentially leading to a hazard. This can be
seen as a reinterpretation of the rules of intrinsically
safe design.
4) The defense-in-depth principle is a central principle for
safety design, which recommends to define a multiplicity
of safety measures, of diverse nature, and acting on
different system levels.
5) The observability-in-depth principle requires the system
design to provide means to monitor the faulty/non-faulty
state of the component, so the user cannot have a false
sense of safety due to lack of information.</p>
        <p>
          These principles are related to the notions of hazard and
the existence of a chain of event leading to it. Some work
has criticized the rigidity of this approach, advocating the use
of feedback-loop control in order to identify and act upon
hazardous states [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ].
        </p>
        <p>
          Complementary to the recommendations for the design
of safety measures, some researchers have focused on the
provision of adequate safety assurance. Assurance cases are
documented bodies of evidence that provide valid and
convincing arguments that a system is adequately dependable in
a given application and environment [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ], [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ]. Assurance
cases are widely required by regulation for safety-critical
systems in the EU. There have been several graphical notation
systems proposed for assurance cases. GSN (Goal Structuring
Notation) and CAE (Claim, Argument, Evidence) are such
two notation systems, and a standardization effort for these
notation systems have been attempted in OMG (Object
Management Group). Attempts to give formal semantics to this
notation have been published recently [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ].
        </p>
        <p>
          When elaborating an assurance case for any safety-related
system containing software, five principles must be
followed [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]. The first four principles can be considered in
isolation, while the fifth principle (called Principle 4+1 by
the authors) is transversal to the others.
        </p>
        <p>1) Software safety requirements shall be defined to address
the software contribution to system hazards.
[Requirement validity]
2) The intent of the software safety requirements shall
be maintained throughout requirements decomposition.
[Requirement decomposition]
3) Software safety requirements shall be satisfied.
[Requirements satisfaction]
4) Hazardous behaviour of the software shall be identified
and mitigated. [Hazardous software behaviour]
5) The confidence established in addressing the software
safety principles shall be commensurate to the
contribution of the software to system risk. It is necessary to
provide evidence that the previous four principles have
been followed. [Confidence]</p>
        <p>Note that the first three principles concern traditional and
important aspects of requirements engineering, such as
elicitation, decomposition and verification of requirements. The
fifth principle is also related to RE through the notions of
traceability and accountability, which are needed in order to
collect evidence supporting the safety case.</p>
      </sec>
      <sec id="sec-2-2">
        <title>B. Sustainability</title>
        <p>
          Sustainability has emerged as an area of significant concern
regarding the potential consequences for humanity as a result
of the rapid depletion of the planet Earth’s finite natural
resources, coupled with exponential economic and population
growth [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ]. The concept of sustainability has also emerged
as an area of research within the field of computing as a result
of the pervasiveness and dependency of software systems in
society [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ]. For example, the development of sustainable
software has been identified as one of the key challenges in
the field of computational science and engineering [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ]. While
the importance of sustainability is increasingly recognized,
many software systems are unsustainable, and the broader
impacts of most software systems on sustainability are
unknown. However, the concept of sustainability is a term that
remains ambiguous and widely abused sixteen years after the
Brundtland Commission [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ].
        </p>
        <p>
          Derived from the Latin sustinere, sustainability can be
defined as ‘capable of being endured’ and ‘capable of being
‘maintained’ [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ]. This simplicity of this definition fails to
capture the complexity of the the concept that can be viewed
from a range of different dimensions [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ]:
• Economic: relates to financial aspects and business value.
        </p>
        <p>It includes capital growth and liquidity, questions of
investment, and financial operations..
• Environmental: relates to the use of and care for natural
resources. It includes questions ranging from immediate
waste production and energy consumption to the balance
of local ecosystems and concerns of climate change.
• Individual: relates to individual freedom and agency (the
ability to act in an environment), human dignity and
fulfillment. It includes the ability of individuals to thrive,
exercise their rights and develop freely.
• Social: concerns relationships between individuals and
groups. For example, this aspect covers the structures of
mutual trust and communication in a social system and
the balance between conflicting interests.
• Technical: relates to the ability to maintain and evolve
artificial systems (such as software) over time. This refers
to maintenance and evolution, resilience, and the ease of
system transitions.</p>
        <p>
          While there is currently no agreed definition of the concept
of sustainability within the field of computing there is growing
consensus that sustainability should be considered as a
firstclass, non-functional requirement [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ] [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. While this position
has been suggested by a number of commentators [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ] [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ], it
has been made without explicit reference to the characteristics
or qualities that sustainability would be composed of. In
contrast, Venters et. al., [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ] defined software sustainability as
a composite, non-functional requirement which is a measure
of a systems:
• Extensibility: the software’s ability to be extended and
the level of effort required to implement the extension;
• Interoperability: the effort required to couple software
systems together.
• Maintainability: the effort required to locate and fix an
error in operational software;
• Portability: the effort required to port software from one
hardware platform or software environment to another;
• Reusability: the extent to which software can be reused
in other applications;
• Scalability: the extent to which software can
accommodate horizontal or vertical growth.
• Usability: the extent to which a product can be used by
specified users to achieve specified goals with
effectiveness, efficiency, and satisfaction in a specified context of
use.
        </p>
        <p>However, one of the principal challenges in defining
sustainability as a non-functional requirement is how to demonstrate
that the quality factors have been addressed in a quantifiable
way.</p>
        <p>
          The discussion of how to define sustainability is not limited
to the field of computing [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ]. It is suggested that to
understand sustainability, we need to ask which system to sustain,
for whom, over which time frame, and at what cost [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ]. The
point of departure for defining sustainability is the second law
of thermodynamics, which states that the state of entropy of
the entire universe, as an isolated system, will always increase
over time [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ]. Sverdrup and Svensson [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ] argue that in
developing rules and criteria for sustainability, it is important
to shape these as a set of principles which are free of value
judgments and cultural biases. Becker et. al., [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] argue the
software profession lacks a common ground that articulates its
role in sustainability design. To address this they proposed a
set of sustainability principles to contribute to the conversation
on the role of the software systems in undermining and in
enabling a sustainable future for our planet.
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>III. RELATED WORK</title>
      <p>While there is a substantial body of work focusing on either
safety or sustainability domain, up to now only a few pieces
of research have considered the parallels between safety and
sustainability disciplines. These are discussed below.</p>
      <p>
        One of the first studies to report such parallels is Mahaux
et al. [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ], which was an exploratory study on how well
some RE techniques work for representing sustainability. The
study showed that misuse case sheets (a well known hazard
analysis technique) can be used for revealing sustainability
requirements. Similarly, Hessami et al. [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ] proposes an
integrated perspective on sustainability through a systems
framework. In that framework, the authors consider that a
system is sustainable in a low-level sense if it can ensure
“system security and safety to resist or tolerate deteriorating or
disruptive internal or external threat conditions”, among other
characteristics. So, in both works, safety is perceived as one
of the aspects of sustainability.
      </p>
      <p>
        Van Gorp [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] looks at the safety and sustainability ethical
issues that engineers deal with during the design process.
According to the author, both issues are related to utility and
general rights and that engineers should learn about “what
the affected actors value relative to the product that is being
designed” and try “to take care of these valued things”.
      </p>
      <p>
        Other works, such as Frakes and Kang [
        <xref ref-type="bibr" rid="ref30">30</xref>
        ] and Banerjee
et al. [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ] mention safety and sustainability as important
characteristics of systems, but make no comparison between
these concepts. Additionally, they refer to sustainability as a
means to maintain a technical system on a long-term basis,
which is an indicator that they restrict their understanding of
sustainability to its technical dimension. Banerjee et al. go a bit
further, stating that long term maintenance should be achieved
while using green sources of energy.
      </p>
      <p>
        Finally, the closest related work is Penzenstadler et al. [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ],
which compares the history and concepts of sustainability
with those of security and safety. They argue that while
sustainability is not a completely emergent property, as safety,
it has to deal with emergent aspects manifested as second-and
third-order effects. Both also require an in-depth exploration
of the problem space and application domain to find solutions.
In addition, they share a few myths, such as translating into
quality goals that compete with other system goals or that
they can be treated in isolation from other qualities. Finally,
the authors argue that sustainability requires quality assurance
techniques comparable to those for safety, and that it should
be included in software engineering standards, as is safety.
      </p>
      <p>The present paper discusses the relationship between safety
and sustainability in greater depth than the available literature
and explores how a wider range of methods and tools for safety
can be used or adapted to sustainability.</p>
      <p>IV. PARALLELS BETWEEN SAFETY AND SUSTAINABILITY</p>
      <p>As discussed above, safety and sustainability are complex,
multifaceted domains. In order to explore the parallels between
them, we structure our discussion according to four different
dimensions: systemicity, complexity, certification and social
vs. business perception. The similarities, differences and
synergies observed are summarized in Table I.</p>
      <sec id="sec-3-1">
        <title>A. Systemic Property</title>
        <p>
          A system is often defined as set of interacting or
interdependent components forming an integrated whole and
relationships with a common purpose [
          <xref ref-type="bibr" rid="ref32">32</xref>
          ]. As per this definition, a
system is:
• made up of components: parts that make up a system i.e.
        </p>
        <p>subsystems;
• components are interrelated: one part of the system
depends on its’ one or more other parts;
• has a boundary, which clearly defines the internal and
external limits of the system;
• has a purpose, which is the overall function of the system;
operates in an environment, which is external to the
system and is influenced by or influences the system;
• has interfaces, these are point of contact where a system
meets its environment or where subsystems meet each
other;
• operates under constraints, these are the limits to what a
system can accomplish within its environment.</p>
        <p>A substantial amount of research has been completed in
software systems engineering on software modularity and
interaction, which essentially aims to realise complex systems
through simpler interacting parts in such a way that the
interdependencies between the parts are minimised (so called
low coupling principle) and the closely related functions and
properties are collected into one part (so called high cohesion
principle). Yet, SE is also well familiar with the set of
properties which do not fit into any single part of a system,
but relate to the system as a whole. Such properties are said
to be systemic: for a system to provide for this property, each
of its sub-parts must do so. Examples of such properties are
response time, security, and, as discussed below, safety, and
sustainability.</p>
        <p>1) Safety: In safety-related domains, safety is treated not
as a property of a single component or of a certain part of
a given system, but one that the system has to fulfill as a
whole. For instance, hazards are identified and defined over
end-to-end functions, and only afterwards are decomposed
into software safety goals. Although safety is considered an
emergent property, in reality what can be observed externally
is the lack of safety, which manifests as a violation of the
stated safety objectives.</p>
        <p>
          Since a system cannot be inherently safe, the goal of safety
is to guarantee that the probability of an accident is as low
as reasonably practical [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ]. Through proper analysis, design
and development, one can ensure only that all known risks
have been removed with a certain budget and up to a certain
acceptable level. To ensure that the development process and
design are “proper”, each application domain (e.g., aerospace,
medical, or chemical product production) that considers safety
a pertinent property, provides a detailed process and product
regulation/legislation [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ].
        </p>
        <p>
          In order to analyze safety issues, each safety engineering
process will work within clearly defined system boundaries.
These boundaries are defined during requirements engineering
by an analysis of the surrounding system context and its
resource flows and functions. Studies on safety are normally
concerned with the immediate effects of the system (due to
its direct functions/properties, also called 1st order effects),
and those effects that are enabled due to the system (also
called indirect or 2nd order effects) [
          <xref ref-type="bibr" rid="ref33">33</xref>
          ]. The cumulative safety
effects that could occur due to prolonged and mass use of the
system are rarely considered, barring cases where dangerous
materials are involved, or alike.
        </p>
        <p>Safety engineering does consider the environment/context
within which a given system has to operate. Indeed, it is not
possible to reason fully about safety or the lack of it without
knowing certain operational details such as: who is going to
use the system (user profile), how the system is going to be
used (potential operation), for how long it is going to be used
(mission time), what type of training the user has, etc. All
this information is elicited and captured during requirements
engineering.</p>
        <p>
          2) Sustainability: Sustainability too, is systemic, in that
for a system to be sustainable all of its sub-parts need to
address sustainability as well. Yet, the scope of the system
that concerns sustainability is much harder to define; this
is because ultimately every socio-technical system consumes
certain natural resources, engages societies, and, inevitably,
produces waste. Since one of the sustainability dimension is
concerned with the environment, all resource consumption and
waste generation is pertinent to the sustainability of the planet
as a whole. While the consideration of a planetary scope is
clearly not feasible for each software systems engineering
project, ignoring it could also lead to a false sense of
achievement. For instance, exploring electronic waste, or moving data
centers to another country does not improve the sustainability
of the phone companies, though their effects may not be felt
directly by the communities using them in their services. Thus,
to help set the scope of sustainability, one must determine what
must be sustained, for whom, for how long, and at what cost?
[
          <xref ref-type="bibr" rid="ref25">25</xref>
          ]. Yet, while these questions are helpful for knowing what
to address, providing meaningful answers to them is still a
challenge.
        </p>
        <p>Similar to safety, sustainability cannot be assured without
setting the context. Questions normally asked during
requirements engineering, like who will be using the system, in which
environment, and what are the cultural/organisational norms
within that environment?, are very important for the analysis
of social sustainability perspectives; whether or not renewable
resources are used and/or non-renewables wasted/polluted, etc.</p>
        <p>As noted in Section 2, the concept of sustainability
comprises 5 dimensions of the system. Interestingly, though these
viewpoints are inherently linked, a system can be sustainable
in one (or more) of them, and at the same time be
unsustainable in others. The best example for this is the economic
dimension: a socio-technical system (such as petroleum
extraction companies) can be extremely profitable for its owners and
shareholders delivering exceptional economic sustainability
yet might cause dreadful environmental effects. Similarly,
exceptional technical sustainability of software assets can be
achieved at the expense of the economic dimension.</p>
        <p>
          Similar to safety, a system cannot be proven to be
sustainable. This is because the changing context of the system
will inevitably affect the sustainability of the system itself.
For instance, changing technology (like new programming
languages or environments) or changing user requirements
will degrade the technical sustainability of software assets,
as well as (eventually) their economic sustainability (if their
maintenance costs too much). Thus, sustainability can only
be assessed for the given time and state of the system. Such
assessments must be repeated periodically throughout system
use, expecting that eventually (in time) the un-sustainability
will be observed [
          <xref ref-type="bibr" rid="ref34">34</xref>
          ]. In other words, changes in requirements
must also be assessed with respect to sustainability.
        </p>
      </sec>
      <sec id="sec-3-2">
        <title>B. System complexity</title>
        <p>
          Giving a general definition of complexity has proven to
be difficult [
          <xref ref-type="bibr" rid="ref35">35</xref>
          ]. In the context of system design, complexity
is typically defined in terms of the number of elements that
constitute the system and the interaction among them and with
the environment. According to [
          <xref ref-type="bibr" rid="ref36">36</xref>
          ], a complex system is a
system that fulfills several of these conditions:
• A high number of components;
• strong interaction among the component;
• long operation time;
• diversity and variability of the components;
• demanding environment;
• multiplicity of activities/objectives.
        </p>
        <p>Because of these features, it is common for complex systems
to exhibit emergent behaviors, i.e. behaviors that can be
observed only once all the components are interconnected
and the system is operated in a certain context. This is a
consequence of the difficulty of reasoning about the
causeeffect chains within systems of these characteristics.</p>
        <p>
          1) Safety: According to Leveson, there are many factors
that are increasing the complexity of current safety-critical
systems. Many of them are caused by the widespread use of
software [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ].
        </p>
        <p>
          • The fast pace of technological change is increasing the
diversity and variability of the system components, while
reducing the time for training and realizing both the
potential and the risks of these new technologies.
• Changing nature of accidents. Safety originated in the
field of process engineering, where system hazards are
typically derived from well-understood and observable
physical laws. In contrast, digital systems introduce
new failure modes which are much more unpredictable
in nature. Overconfidence in redundancy and
misunderstanding of failure models of software-implemented
components have been related to recent aerospace
accidents [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ].
• New types of hazards have appeared, for instance related
to loss or corruption of information, which go beyond
the traditional conception of hazard as uncontrolled or
undesired release of energy.
• Decreasing tolerance for single accidents. As technology
becomes more predominant in our daily life, it also
becomes possible to potentially harm increasing numbers
of people and impact future generations. Nuclear and
chemical plants are good examples of very demanding
safety-critical systems.
• Increasing interactive complexity and high coupling. The
potential interactions among the components of a
computer system very often cannot be thoroughly understood
or anticipated. Sometimes complicated systems need to
be built, which actually exceed the human intellectual
ability to reason. Sometimes it is the information about
the system that is incomplete, for instance due to the use
of legacy code or because of partial knowledge of the
operational environment. The tight coupling of software
components allows disruptions or dysfunctional
interactions in one part of the system to impact distant parts of
the system, making hazard analysis more complicated.
• The new, and more sophisticated, relationships between
humans and automation make it more difficult to reason
about potential interaction problems, creating new human
errors and a new distribution of human errors. Humans
are still in charge of most of the decision-making
processes, while computers are responsible for the automated
implementation of those decisions. Adequate
communication and HMI are required in order to ensure system
observability and prevent accidents due to a false sense
of safety.
        </p>
        <p>Most techniques for safety analysis and safety design help
in handling complexity. Hazard analysis and risk analysis
are techniques that are used during requirements engineering
for identifying the critical system functions, thus allowing
the system designer to disregard those functions that are not
relevant from a safety perspective. Fault-tree analysis and
Failure Mode and Effects Analysis help in identifying the
elements of the system that are relevant for a certain hazard,
which helps in reducing the design and the verification efforts.
The purpose of modeling techniques such as GSN is to provide
a way to visualize and analyze the complex relationships
between arguments of a safety assurance case.</p>
        <p>
          However, it has been argued that as complexity increases,
techniques based on event chains, like the ones mentioned
above, may be too simple. A new accident model based on
systems thinking (STAMP) has been defined by Leveson [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ].
This new model relies on control theory notions and integrates
sociotechnical aspects.
        </p>
        <p>
          2) Sustainability: As a systemic property, sustainability
is inherently complex. Its complexity comes from the need
to consider the system and its context from at least five
perspectives, as well as its three orders of effect on these
perspectives [
          <xref ref-type="bibr" rid="ref33">33</xref>
          ].
        </p>
        <p>As in safety, sustainability requires the cooperation of all
elements involved. That means not only hardware and software
components, but also the people interacting with that software
system and the processes surrounding it.</p>
        <p>
          A parallel can also be drawn with respect to the
decomposition of the concern. In requirements engineering, sustainability
goals may be defined at different levels of abstraction [
          <xref ref-type="bibr" rid="ref37">37</xref>
          ].
High-level concerns (e.g., contribute to a healthy environment)
may be decomposed into lower level goals (e.g., optimize
energy consumption) and realized by different design strategies
(e.g., by using Energy Star qualified hardware [
          <xref ref-type="bibr" rid="ref38">38</xref>
          ], by defining
a process that reduces physical waste, or by writing efficient
algorithms).
        </p>
        <p>Furthermore, making sure that all elements fulfill their
sustainability goals also requires a clear assignment of
responsibilities: from the roles responsible for the software
development to the users of that system. Eventually, verifying
the achievement of these goals requires traceability of both
their decomposition and responsibility assignment.</p>
        <p>Finally, as with any complex issue, a number of strategies
will have to be combined to achieve both safety and
sustainability. Small, isolated efforts towards sustainability can be
jeopardized by greater sustainability risks or by safety hazards,
when these are not taken into account during the elaboration
of the system requirements. For example, writing efficient
algorithms might be irrelevant when the system encourages
mass consumption of unnecessary good. Yet, there are subtle
differences. While, in safety, a small loophole, such as a
floating point conversion, can expose the system to great
unsafety, in sustainability this is less likely to happen. In other
words, failing to provide sustainability will, in general, not
manifest as an accident or mishap; especially not immediately.
Punctual efforts, such as the recycling of obsolete hardware,
contribute to sustainability, but have little leverage when
compared to challenging the purpose of the system, for example.
Requirements engineers are in a great position to point at
potential impact and ask questions that might encourage the
stakeholders to consider sustainability.</p>
      </sec>
      <sec id="sec-3-3">
        <title>C. Certifications &amp; standards</title>
        <p>The goal of certification is, in general, to confirm that the
characteristics of some object, person or organization conform
to a certain definition, or standard. Certification is typically
performed externally, by governmental certification agencies.
Software, standards usually define the desirable properties of
a software product or, alternatively, of a software development
process. Adherence to these standards is mandatory in certain
fields, such as transportation, energy or healthcare, because of
their high social impact.</p>
        <p>
          1) Safety: Safety is a strongly regulated field, with multiple
national and international safety standards applied at
different levels. So-called functional safety standards concern the
elimination of hazards caused by Electrical, Electronic and
Programmable Systems. Some authors have discussed and
compared existing functional safety standards at length [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ],
[
          <xref ref-type="bibr" rid="ref39">39</xref>
          ].
        </p>
        <p>This large amount of standards and regulations shows that
responsibility for safety is shifting from the individual to
government. Individuals no longer have the ability (or
knowledge) to control the risks around them and are demanding that
government assume greater responsibility for controlling
technology. The application of these standards generates tension
with industrial goals, like short time to market or reduced cost.</p>
        <p>
          Each functional safety standard typically defines its own
process for system certification, but according to [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ], they
can all assimilated to the five safety assurance principles
discussed in Section 2: requirements validity, requirements
decomposition, requirements satisfaction, hazardous software
behaviour and confidence.
        </p>
        <p>2) Sustainability: Standards and certifications on
sustainability play a similar role to standards in safety: adherence to
them may be needed to convince customers, authorities and
the society of commitment to sustainability.</p>
        <p>
          A number of reasons may drive organizations to seek
compliance with sustainability standards. On particular, companies
might value a sustainable corporate image, in response to a
growing demand by the society for organizations with social
and environmental corporate practices [
          <xref ref-type="bibr" rid="ref40">40</xref>
          ].
        </p>
        <p>
          There are a number of standards related to sustainability.
Rodrigues and Penzenstadler (2013) observe that their focus
vary from sustainability development [
          <xref ref-type="bibr" rid="ref41">41</xref>
          ], [
          <xref ref-type="bibr" rid="ref42">42</xref>
          ], to
sustainability reporting [
          <xref ref-type="bibr" rid="ref43">43</xref>
          ], [
          <xref ref-type="bibr" rid="ref44">44</xref>
          ], to sustainable design [
          <xref ref-type="bibr" rid="ref45">45</xref>
          ], [
          <xref ref-type="bibr" rid="ref46">46</xref>
          ],
among others. However, most of them are specific to particular
industry sectors [
          <xref ref-type="bibr" rid="ref47">47</xref>
          ] and sustainability dimensions, such as
the ISO 14000 for Environmental Management [
          <xref ref-type="bibr" rid="ref41">41</xref>
          ] or the
ISO 26000 for Social Responsibility [
          <xref ref-type="bibr" rid="ref42">42</xref>
          ]. The authors also
observe that software systems and their supporting
infrastructures are often not explicitly accounted for in the life-cycle
analysis (LCA) of sustainable projects. Instead, LCA normally
uses tangible items in their analysis.
        </p>
        <p>
          One difference worth pointing out is that safety standards
can be powerful requirements engineering tools, as they
typically help with stakeholder identification and selection of
metrics for the development of safety-critical IT systems, e.g.
mean time between failures. However, in sustainability,
standards are either: (1) concerned with a business organization
and its operations [
          <xref ref-type="bibr" rid="ref41">41</xref>
          ], [
          <xref ref-type="bibr" rid="ref42">42</xref>
          ], or (2) or devoted to reducing
the use of hazardous material, ensuring energy efficiency, and
reducing waste in electronic products [
          <xref ref-type="bibr" rid="ref48">48</xref>
          ], [
          <xref ref-type="bibr" rid="ref38">38</xref>
          ], [
          <xref ref-type="bibr" rid="ref49">49</xref>
          ]. We
are missing standards that support the analysis and design
of sustainable IT systems, beyond of the selection of green
hardware.
        </p>
      </sec>
      <sec id="sec-3-4">
        <title>D. Social &amp; Business Perception vs. Costs</title>
        <p>Both safe and sustainable systems share, in a broad sense,
a common objective: not to harm the environment. The social
perception of risk plays an important role when it comes to
decide what can be spent in order to fulfill this goal.</p>
        <p>1) Perceptions and Costs of Safety: From a technological
perspective, safety design adds on costs, since additional
work is required, not only for design and verification of
the safety goals elicited during requirements engineering, but
also importantly for safety assurance. As stated in the fifth
principle (4+1) of Section 2, providing confidence about the
definition and verification of safety requirements is needed
for safety assurance. The ability to collect this information is
a significant difference with respect to other software industry.
Businesses would reduce this cost when possible, but since the
adherence to standards provides access to markets, it can as
well be considered an investment.</p>
        <p>Socially, it is acceptable to pay for a safer product; for
example, an automobile with additional safety features is
normally more expensive than one without them, so consumers
are prepared to take on the extra cost that business will pass
on to them. In terms of marketing, the reputational (social)
damage of unsafe goods is very large, so safety costs are also
investment into avoiding these losses.</p>
        <p>In the SE community, the professional recognition of safety
is very high, and it is intimately related to the notion of
software bug. Examples of incidents and accidents caused by
software bugs are described in lectures and notebooks, and
students become familiar with them. Classical examples from
many different domains, like the Path Finder and Ariane 5
from aerospace, the Patriot missile from military, Therac-25
from medicine, or the Toyota throttle problem from automotive
are part of graduate education and successfully convey the
importance of generating high-quality code for critical
applications.</p>
        <p>In companies developing safety-critical products, safety
awareness is very high, it permeates the whole development
process and affects all the people involved. This includes
customer service, management, organization and engineering
activities and is shared by software providers as well.</p>
        <p>2) Perceptions and Costs of Sustainability : Similar to the
safety domain, high profile sustainability failure cases have
driven regulation and business costs. For instance, practices
that caused visible water and soil pollution have been tightly
regulated in most countries. In such cases, where the impact
of unsustainability is apparent, business has had to accept cost
of sustainability maintenance.</p>
        <p>However, due to the indirectness and longer time scale taken
for manifestation of enabling and systemics effects, much of
the cost of unsustainable business conduct remains hidden and
so, is unaccounted for. For instance, the cost of deforestation
in the Amazon forest, where locals clear the forest to make
space for crop fields, is distributed across time and space,
arguably resulting in accelerated climate change, but is not
immediately observed by the logging communities. Similarly,
inequality in access to education or health-care leads to
loss of potential contribution from talented but disadvantaged
individuals, reducing the prosperity of a nation, but this is not
directly observed by each member of that nation and does not
disturb those who gain from this inequality.</p>
        <p>Nevertheless, in recent years, the true costs of
sustainability effects have increasingly been gaining recognition. As a
results, consumers have become more willing to accept higher
costs and express preferences for sustainable products and
services (such as organic food, recycled paper, renewable
energy, etc.). The political and government bodies have started
to impose longer-term sustainability targets and regulations on
waste management and use of natural resources.</p>
        <p>
          Sustainability now features as a prominent topic in the
recent research funding calls (e.g. Horizon 2020 Work
Programme (2014 – 2015), European Commission FP7 Work
Programme (2013) for ICT). Sustainability in the software context
is also a fast growing research area. A recent systematic
mapping study has shown an increase on the number of
publications on sustainability and software engineering: from 82
papers published in the last 25 years, 70 belong to the period of
2010 to 2013 [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]. One of the main challenges to be addressed
for Software Engineering, is to establish a clear cause-effect
traceability between software engineering activities/processes
and the sustainability effect of the produced software. Such
relationship is well exemplified in safety, where connection
between safety engineering and accident prevention is clearly
demonstrated. Requirements engineering has a prominent role
in this challenge, as it shapes the scope and the purpose of
the system, and therefore, can have the greatest leverage in
supporting sustainability.
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>V. CONCLUSIONS</title>
      <p>This paper provided an explorative analysis of similarities,
differences, and potential synergies between safety and
sustainability. That way, software engineers, and in particular
requirements engineers, can start taking lessons from safety
engineering and apply them to sustainability design for
software systems.</p>
      <p>We reviewed the most important concepts of functional
safety, hazard analysis and safety engineering, and the
principles of safety assurance. Then, we discussed parallels between
safety and sustainability, namely the characteristic as systemic
property, their respective complexity, the issue of certification
and standards, and the social and business perception versus
costs.</p>
      <p>The results of our comparisons are summarized in Table I.
Although still far from being exhaustive, this analysis
represents a step forward in order to improve the tools and
methods available for software engineers addressing sustainability
issues.</p>
      <p>
        As future work, we envision to apply safety engineering
techniques to example systems and evaluate their applicability
in a sustainability context. We also wish to investigate how
the concepts of safety assurance can be exploited and adapted
to sustainability, considering even the convenience of having
sustainability cases, inspired by the notion of safety case. A
comparison between GSN and other goal oriented techniques
for RE will also be carried out. Finally, through this study we
have learned about Resilience Engineering as an extension of
safety towards systems thinking [
        <xref ref-type="bibr" rid="ref50">50</xref>
        ]. This innovative approach
to safety (and beyond) shows promising synergistic potential
with sustainability and will be explored further.
      </p>
    </sec>
    <sec id="sec-5">
      <title>VI. ACKNOWLEDGMENTS</title>
      <p>This work is partially supported by the European Social
Fund; Ministry of Science, Research and the Arts
BadenW u¨rttemberg; FP7 ASCETiC project (No. 610874); FAPERJ
and CNPQ funding agencies; Swedish Knowledge Foundation
(KKS), within project SaDIES.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>B.</given-names>
            <surname>Penzenstadler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Raturi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Richardson</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Tomlinson</surname>
          </string-name>
          , “
          <article-title>Safety, security, now sustainability: The nonfunctional requirement for the 21st century,” Software</article-title>
          ,
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          , vol.
          <volume>31</volume>
          , no.
          <issue>3</issue>
          , pp.
          <fpage>40</fpage>
          -
          <lpage>47</lpage>
          , May
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>N. G.</given-names>
            <surname>Leveson</surname>
          </string-name>
          , “
          <article-title>Software safety: Why, what</article-title>
          , and how,
          <source>” ACM Computing Surveys (CSUR)</source>
          , vol.
          <volume>18</volume>
          , no.
          <issue>2</issue>
          , pp.
          <fpage>125</fpage>
          -
          <lpage>163</lpage>
          ,
          <year>1986</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>A. V.</given-names>
            <surname>Gorp</surname>
          </string-name>
          ,
          <article-title>Ethical issues in engineering design; safety and sustainability</article-title>
          . Springer,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <surname>P. M. d'Orey</surname>
            and
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Ferreira</surname>
          </string-name>
          , “
          <article-title>Its for sustainable mobility: A survey on applications and impact assessment tools,” Intelligent Transportation Systems</article-title>
          , IEEE Transactions on, vol.
          <volume>15</volume>
          , no.
          <issue>2</issue>
          , pp.
          <fpage>477</fpage>
          -
          <lpage>493</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>N.</given-names>
            <surname>Leveson</surname>
          </string-name>
          ,
          <article-title>Engineering a safer world: Systems thinking applied to safety</article-title>
          . Mit Press,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>C.</given-names>
            <surname>Becker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Chitchyan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Duboc</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Easterbrook</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Penzenstadler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Seyff</surname>
          </string-name>
          , and
          <string-name>
            <given-names>C. C.</given-names>
            <surname>Venters</surname>
          </string-name>
          , “
          <article-title>Sustainability design and software: The karlskrona manifesto</article-title>
          ,”
          <source>in ICSE'15: Proceedings of the International Conference on Software Engineering</source>
          ,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>N. G.</given-names>
            <surname>Leveson</surname>
          </string-name>
          ,
          <article-title>Safeware: system safety and computers</article-title>
          .
          <source>ACM</source>
          ,
          <year>1995</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>D.</given-names>
            <surname>Smith</surname>
          </string-name>
          and
          <string-name>
            <given-names>K.</given-names>
            <surname>Simpson</surname>
          </string-name>
          , Functional safety.
          <source>Routledge</source>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>J.</given-names>
            <surname>Rushby</surname>
          </string-name>
          , “
          <article-title>Critical system properties: Survey and taxonomy,” Reliability Engineering &amp; System Safety</article-title>
          , vol.
          <volume>43</volume>
          , no.
          <issue>2</issue>
          , pp.
          <fpage>189</fpage>
          -
          <lpage>219</lpage>
          ,
          <year>1994</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>J. H.</given-names>
            <surname>Saleh</surname>
          </string-name>
          ,
          <string-name>
            <surname>K. B. Marais</surname>
            , and
            <given-names>F. M.</given-names>
          </string-name>
          <article-title>Favaro´, “System safety principles: A multidisciplinary engineering perspective</article-title>
          ,
          <source>” Journal of Loss Prevention in the Process Industries</source>
          , vol.
          <volume>29</volume>
          , pp.
          <fpage>283</fpage>
          -
          <lpage>294</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>N.</given-names>
            <surname>Leveson</surname>
          </string-name>
          , “
          <article-title>A new accident model for engineering safer systems,” Safety science</article-title>
          , vol.
          <volume>42</volume>
          , no.
          <issue>4</issue>
          , pp.
          <fpage>237</fpage>
          -
          <lpage>270</lpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>R.</given-names>
            <surname>Hawkins</surname>
          </string-name>
          ,
          <string-name>
            <surname>I. Habli</surname>
          </string-name>
          , and T. Kelly, “
          <article-title>Principled construction of software safety cases</article-title>
          ,” in SAFECOMP 2013-
          <string-name>
            <surname>Workshop</surname>
            <given-names>SASSUR</given-names>
          </string-name>
          (
          <article-title>Next Generation of System Assurance Approaches for Safety-Critical Systems) of the 32nd</article-title>
          <source>International Conference on Computer Safety, Reliability and Security</source>
          ,
          <year>2013</year>
          , p.
          <source>NA.</source>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>R.</given-names>
            <surname>Hawkins</surname>
          </string-name>
          , I. Habli,
          <string-name>
            <given-names>T.</given-names>
            <surname>Kelly</surname>
          </string-name>
          , and
          <string-name>
            <surname>J. McDermid</surname>
          </string-name>
          , “
          <article-title>Assurance cases and prescriptive software safety certification: A comparative study,” Safety science</article-title>
          , vol.
          <volume>59</volume>
          , pp.
          <fpage>55</fpage>
          -
          <lpage>71</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Matsuno</surname>
          </string-name>
          , “
          <article-title>A design and implementation of an assurance case language,” in Dependable Systems and Networks (DSN</article-title>
          ),
          <year>2014</year>
          44th Annual IEEE/IFIP International Conference on,
          <year>June 2014</year>
          , pp.
          <fpage>630</fpage>
          -
          <lpage>641</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>D.</given-names>
            <surname>Meadows</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Randers</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D.</given-names>
            <surname>Meadows</surname>
          </string-name>
          , Limits to Growth: The 30-
          <string-name>
            <given-names>Year</given-names>
            <surname>Update</surname>
          </string-name>
          .
          <source>Earthscan</source>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>N.</given-names>
            <surname>Chue-Hong</surname>
          </string-name>
          , “
          <article-title>We are the 92%</article-title>
          ,” in
          <source>The Second Workshop on Sustainable Software for Science: Practice and Experiences (WSSSPE2)</source>
          , New Orleans, LA USA,
          <year>November 2014</year>
          , keynote. [Online]. Available: http://figshare.com/articles/We are the 92 /1243288/
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17] WSSSPE, “
          <article-title>Workshop on sustainable software for science: Practice and experiences</article-title>
          ,” http://wssspe.researchcomputing.org.uk/. [Online]. Available: http://wssspe.researchcomputing.org.uk/
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>O.</given-names>
            <surname>Dictionaries</surname>
          </string-name>
          , Oxford English Dictionary. Oxford University Press,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>C.</given-names>
            <surname>Becker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Betz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Chitchyan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Duboc</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S. M.</given-names>
            <surname>Easterbrook</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Penzenstadler</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            <surname>Seyff</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. C.</given-names>
            <surname>Venters</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S. A.</given-names>
            <surname>Kocak</surname>
          </string-name>
          , “Requirements: The key to sustainability,”
          <year>2015</year>
          , unpublished.
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>N.</given-names>
            <surname>Amsel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Ibrahim</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Malik</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Tomlinson</surname>
          </string-name>
          , “
          <article-title>Toward sustainable software engineering</article-title>
          ,”
          <source>in ICSE: Proceedings of the 33rd International Conference on Software Engineering</source>
          , Waikiki, Honolulu,
          <string-name>
            <surname>HI</surname>
          </string-name>
          , USA,
          <year>2011</year>
          , pp.
          <fpage>976</fpage>
          -
          <lpage>979</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>S.</given-names>
            <surname>Naumann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Dick</surname>
          </string-name>
          , E. Kern, and T. Johann, “
          <article-title>The greensoft model: A reference model for green and sustainable software and its engineering,” Sustainable Computing: Informatics and Systems</article-title>
          , vol.
          <volume>1</volume>
          , no.
          <issue>4</issue>
          , p.
          <fpage>294</fpage>
          -
          <lpage>304</lpage>
          ,
          <year>December 2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>C.</given-names>
            <surname>Calero</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. F.</given-names>
            <surname>Bertoa</surname>
          </string-name>
          , and
          <string-name>
            <surname>M.</surname>
          </string-name>
          <article-title>A´ngeles Moraga, “Sustainability and quality: Icing on the cake</article-title>
          ,
          <source>” in RE4SuSy: Proceedings of the Second International Workshop on RE for Sustainable Systems</source>
          , Rio de Janeiro, Brazil,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [23]
          <string-name>
            <given-names>C. C.</given-names>
            <surname>Venters</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L. M. S.</given-names>
            <surname>Lau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Griffiths</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Holmes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Ward</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Jay</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Dibsdale</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Xu</surname>
          </string-name>
          , “
          <article-title>The blind men and the elephant: Towards an empirical evaluation framework for software sustainability</article-title>
          ,
          <source>” Journal of Open Research Software</source>
          , vol.
          <volume>2</volume>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [24]
          <string-name>
            <given-names>C. C.</given-names>
            <surname>Venters</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Jay</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L. M. S.</given-names>
            <surname>Lau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M. K.</given-names>
            <surname>Griffiths</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Holmes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R. R.</given-names>
            <surname>Ward</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Austin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C. E.</given-names>
            <surname>Dibsdale</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Xu</surname>
          </string-name>
          , “
          <article-title>Software sustainability: The modern tower of babel,” in RE4SuSy:</article-title>
          <source>Proceedings of the Third Int. Workshop on RE for Sustainable Systems. Karlskrona, Sweden: CEUR-WS 1216</source>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [25]
          <string-name>
            <given-names>J. A.</given-names>
            <surname>Tainter</surname>
          </string-name>
          , “
          <article-title>Social complexity and sustainability,” ecological complexity</article-title>
          , vol.
          <volume>3</volume>
          , no.
          <issue>2</issue>
          , pp.
          <fpage>91</fpage>
          -
          <lpage>103</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [26]
          <string-name>
            <given-names>A.</given-names>
            <surname>Eddington</surname>
          </string-name>
          , Space, Time and
          <string-name>
            <surname>Gravitation:</surname>
          </string-name>
          <article-title>An Outline of the General Relativity Theory</article-title>
          . Butler Press,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [27]
          <string-name>
            <given-names>H.</given-names>
            <surname>Sverdrup</surname>
          </string-name>
          and
          <string-name>
            <given-names>M. G. E.</given-names>
            <surname>Svensson</surname>
          </string-name>
          , “
          <article-title>Defining the concept of sustainability - a matter of systems thinking and applied systems analysis,” in Systems Approaches</article-title>
          and Their Application,
          <string-name>
            <given-names>M. O.</given-names>
            <surname>Olsson</surname>
          </string-name>
          and G. Sjo¨stedt, Eds. Springer,
          <year>2005</year>
          , pp.
          <fpage>143</fpage>
          -
          <lpage>164</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [28]
          <string-name>
            <given-names>M.</given-names>
            <surname>Mahaux</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Heymans</surname>
          </string-name>
          , and G. Saval, “
          <article-title>Discovering sustainability requirements: an experience report,” in Requirements engineering: foundation for software quality</article-title>
          . Springer,
          <year>2011</year>
          , pp.
          <fpage>19</fpage>
          -
          <lpage>33</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [29]
          <string-name>
            <given-names>A.</given-names>
            <surname>Hessami</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Hsu</surname>
          </string-name>
          , and
          <string-name>
            <given-names>H.</given-names>
            <surname>Jahankhani</surname>
          </string-name>
          , “
          <article-title>A systems framework for sustainability,” in Global Security, Safety, and Sustainability, ser</article-title>
          . Communications in Computer and Information Science,
          <string-name>
            <given-names>H.</given-names>
            <surname>Jahankhani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Hessami</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Hsu</surname>
          </string-name>
          , Eds. Springer Berlin Heidelberg,
          <year>2009</year>
          , vol.
          <volume>45</volume>
          , pp.
          <fpage>76</fpage>
          -
          <lpage>94</lpage>
          . [Online]. Available: http://dx.doi.
          <source>org/10.1007/ 978-3-642-04062-7 9</source>
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [30]
          <string-name>
            <given-names>W.</given-names>
            <surname>Frakes</surname>
          </string-name>
          and
          <string-name>
            <given-names>K.</given-names>
            <surname>Kang</surname>
          </string-name>
          , “
          <article-title>Software reuse research: status and future,” Software Engineering</article-title>
          , IEEE Transactions on, vol.
          <volume>31</volume>
          , no.
          <issue>7</issue>
          , pp.
          <fpage>529</fpage>
          -
          <lpage>536</lpage>
          ,
          <year>July 2005</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [31]
          <string-name>
            <given-names>A.</given-names>
            <surname>Banerjee</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Venkatasubramanian</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Mukherjee</surname>
          </string-name>
          , and
          <string-name>
            <given-names>S.</given-names>
            <surname>Gupta</surname>
          </string-name>
          , “
          <article-title>Ensuring safety, security, and sustainability of mission-critical cyberphysical systems</article-title>
          ,
          <source>” Proceedings of the IEEE</source>
          , vol.
          <volume>100</volume>
          , no.
          <issue>1</issue>
          , pp.
          <fpage>283</fpage>
          -
          <lpage>299</lpage>
          ,
          <year>Jan 2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [32]
          <string-name>
            <given-names>A.</given-names>
            <surname>Waring</surname>
          </string-name>
          ,
          <source>Practical Systems Thinking. Thomson</source>
          ,
          <year>1996</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [33]
          <string-name>
            <given-names>L. M.</given-names>
            <surname>Hilty</surname>
          </string-name>
          and
          <string-name>
            <given-names>B.</given-names>
            <surname>Aebischer</surname>
          </string-name>
          , “
          <article-title>Ict for sustainability: An emerging research field,” in ICT Innovations for Sustainability</article-title>
          . Springer,
          <year>2015</year>
          , pp.
          <fpage>3</fpage>
          -
          <lpage>36</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [34]
          <string-name>
            <given-names>B.</given-names>
            <surname>Penzenstadler</surname>
          </string-name>
          , “Software Engineering for Sustainability,”
          <source>Habilitation Thesis</source>
          , Technische Universita¨t Mu¨nchen,
          <year>2015</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          [35]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Bar-Yam</surname>
          </string-name>
          ,
          <article-title>Dynamics of complex systems</article-title>
          .
          <source>Perseus Books</source>
          ,
          <year>1997</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          [36]
          <string-name>
            <given-names>J.</given-names>
            <surname>Ladyman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Lambert</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Wiesner</surname>
          </string-name>
          , “
          <article-title>What is a complex system?”</article-title>
          <source>European Journal for Philosophy of Science</source>
          , vol.
          <volume>3</volume>
          , no.
          <issue>1</issue>
          , pp.
          <fpage>33</fpage>
          -
          <lpage>67</lpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref37">
        <mixed-citation>
          [37]
          <string-name>
            <given-names>B.</given-names>
            <surname>Penzenstadler</surname>
          </string-name>
          and
          <string-name>
            <given-names>H.</given-names>
            <surname>Femmer</surname>
          </string-name>
          , “
          <article-title>A Generic Model for Sustainability with Process-</article-title>
          and
          <string-name>
            <surname>Product-specific</surname>
            <given-names>Instances</given-names>
          </string-name>
          ,” in First Intl. Workshop on Green In Software Engineering and
          <string-name>
            <surname>Green By Software Engineering</surname>
          </string-name>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref38">
        <mixed-citation>
          [38] “EnergyStar,” http://www.energystar.gov/about, accessed:
          <fpage>2015</fpage>
          -06-08.
        </mixed-citation>
      </ref>
      <ref id="ref39">
        <mixed-citation>
          [39]
          <string-name>
            <given-names>P.</given-names>
            <surname>Baufreton</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Blanquart</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Boulanger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Delseny</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Derrien</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Gassino</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Ladier</surname>
          </string-name>
          , E. Ledinot,
          <string-name>
            <given-names>M.</given-names>
            <surname>Leeman</surname>
          </string-name>
          , P. Que´re´ et al., “Multidomain comparison of safety standards,”
          <source>in Proceedings of the 5th International Conference on Embedded Real Time Software and Systems (ERTS2)</source>
          , Toulouse, France,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref40">
        <mixed-citation>
          [40]
          <string-name>
            <surname>K. L.</surname>
          </string-name>
          Becker-Olsen, “
          <article-title>The csr conundrum: understanding consumer response to corporate social responsibility,” in Handbook of Research on Marketing and Corporate Social Responsibility</article-title>
          ,
          <string-name>
            <given-names>R. P.</given-names>
            <surname>Hill</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Langan</surname>
          </string-name>
          , Eds. Edward Elgar Publishing Limited,
          <year>2014</year>
          , vol.
          <volume>1</volume>
          , pp.
          <fpage>149</fpage>
          -
          <lpage>174</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref41">
        <mixed-citation>
          [41] “ISO 14000 -
          <string-name>
            <surname>Environmental</surname>
            <given-names>management</given-names>
          </string-name>
          ,”
          <year>2004</year>
          , http://www.iso.org/ iso/home/standards/management-standards/iso14000.htm.
        </mixed-citation>
      </ref>
      <ref id="ref42">
        <mixed-citation>
          [42] “ISO 26000 Guidance on social responsibility,”
          <year>2010</year>
          , http://www.iso. org/iso/home/standards/iso26000.htm.
        </mixed-citation>
      </ref>
      <ref id="ref43">
        <mixed-citation>
          [43]
          <string-name>
            <given-names>Sustainability</given-names>
            <surname>Reporting</surname>
          </string-name>
          <string-name>
            <surname>Guidelines</surname>
          </string-name>
          ,
          <source>Version</source>
          <volume>3</volume>
          .1 ed.,
          <source>Global Reporting Initiative</source>
          , Amsterdam, Netherlands,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref44">
        <mixed-citation>
          [44]
          <string-name>
            <given-names>C.</given-names>
            <surname>Herzig</surname>
          </string-name>
          and
          <string-name>
            <given-names>S.</given-names>
            <surname>Schaltegger</surname>
          </string-name>
          , “
          <article-title>Corporate sustainability reporting. an overview,” in Sustainability Accounting</article-title>
          and Reporting,
          <string-name>
            <given-names>S.</given-names>
            <surname>Schaltegger</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Bennett</surname>
          </string-name>
          , and R. Burritt, Eds. Springer Netherlands,
          <year>2006</year>
          , vol.
          <volume>21</volume>
          , pp.
          <fpage>301</fpage>
          -
          <lpage>324</lpage>
          . [Online]. Available: http://dx.doi.
          <source>org/10.1007/ 978-1-4020-4974-3 13</source>
        </mixed-citation>
      </ref>
      <ref id="ref45">
        <mixed-citation>
          [45]
          <string-name>
            <surname>U. G. B. Council</surname>
          </string-name>
          , “
          <article-title>Leadership in energy and environmental design (leed</article-title>
          ),” http://www.usgbc.org/.
        </mixed-citation>
      </ref>
      <ref id="ref46">
        <mixed-citation>
          [46]
          <string-name>
            <given-names>U. G. S.</given-names>
            <surname>Administration</surname>
          </string-name>
          , “Sustainable design,” www.gsa.gov/sustainabledesign.
        </mixed-citation>
      </ref>
      <ref id="ref47">
        <mixed-citation>
          [47] FTSE Group, “
          <article-title>The industry classification benchmark (icb</article-title>
          ),”
          <year>2012</year>
          , http://www.icbenchmark.com/.
        </mixed-citation>
      </ref>
      <ref id="ref48">
        <mixed-citation>
          [48] “RoHS Guide,” http://www.rohsguide.com/, accessed:
          <fpage>2015</fpage>
          -06-08.
        </mixed-citation>
      </ref>
      <ref id="ref49">
        <mixed-citation>
          [49] “EPAT verification,” http://www.epeat.net/resources/verification/, accessed:
          <fpage>2015</fpage>
          -06-08.
        </mixed-citation>
      </ref>
      <ref id="ref50">
        <mixed-citation>
          [50]
          <string-name>
            <given-names>E.</given-names>
            <surname>Hollnagel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D. D.</given-names>
            <surname>Woods</surname>
          </string-name>
          , and
          <string-name>
            <given-names>N.</given-names>
            <surname>Leveson</surname>
          </string-name>
          ,
          <article-title>Resilience engineering: Concepts and precepts</article-title>
          . Ashgate Publishing, Ltd.,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>