<!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>Towards a Systematic Literature Review on Secure Software Design</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Alexander van den Berghe</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Riccardo Scandariato</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Wouter Joosen</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>iMinds-Distrinet, Department of Computer Science, KU Leuven Celestijnenlaan 200A, 3001 Leuven</institution>
          ,
          <country country="BE">Belgium</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>In recent years numerous researchers have proposed a wide variety of approaches to incorporate security concerns into software design. Unfortunately a systematic literature review (SLR) providing a detailed overview of the state of the art and defining interesting research opportunities is lacking. This creates an extra barrier for (new) researchers to enter the domain and contribute to it. We describe a procedure for an SLR aimed at minimizing this barrier. By providing this procedure we first hope to receive feedback on it and trigger a discussion. Second, the availability of this procedure is useful when updating the SLR with approaches that will emerge after its initial performance.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
    </sec>
    <sec id="sec-2">
      <title>Systematic Literature Review</title>
      <p>This section introduces the procedure we defined for the SLR. First, we describe the research questions and
discuss how they relate to our goals. Second, we describe the criteria for scoping the relevant research works.
Third, we describe the strategy to retrieve the relevant research works. Fourth, we describe how the research
works are analyzed to provide answers to the posed research questions.
2.1</p>
      <sec id="sec-2-1">
        <title>Research Questions</title>
        <p>We define four main research questions (RQ’s), shown below, for the SLR.</p>
        <sec id="sec-2-1-1">
          <title>RQ1: What security properties are supported during software design?</title>
        </sec>
        <sec id="sec-2-1-2">
          <title>RQ2: Is a representation of the security properties supported?</title>
        </sec>
        <sec id="sec-2-1-3">
          <title>RQ3: Is an analysis of the security properties supported?</title>
        </sec>
        <sec id="sec-2-1-4">
          <title>RQ3.1: Is the supported analysis precise?</title>
          <p>RQ3.2: Is the supported analysis white hat or black hat?</p>
        </sec>
        <sec id="sec-2-1-5">
          <title>RQ4: What evaluation is provided for the proposed approach?</title>
          <p>To avoid ambiguity some terms in these research questions require a more precise description. Software
design refers to both architectural and detailed design. Security properties includes properties such as integrity
and logging. The full set of properties defined for the SLR is discussed later. Supporting a security property
means providing the possibility to represent and/or analyze it. Representing a security property covers every
explicit representation, graphical or textual, of a security property. Analyzing a security property means verifying
whether it is correctly enforced according to the system’s security policy, which is the collection of all security
requirements. An analysis is considered precise if a developer can algorithmically perform it by following the
steps in its description. Note that whether an analysis method is precise or not is irrelevant of any tool support.</p>
          <p>The first three research questions allow to construct an overview of the state of the art. Furthermore, they
allow to discover research opportunities concerning security properties that are not or barely addressed. The
fourth research question uncovers approaches lacking evaluation, which are opportunities for empirical research.
2.2</p>
        </sec>
      </sec>
      <sec id="sec-2-2">
        <title>Inclusion and Exclusion Criteria</title>
        <p>The inclusion and exclusion criteria of an SLR delimit which research works are considered relevant. Papers are
included if they adhere to at least one of the following criteria:
• The paper represents security properties in software design or
• analyzes security properties in software design or
• models attacks or threats in software design or
• evaluates a paper included by a previous criterion.</p>
        <p>Papers are excluded if they adhere to at least one of the following criteria:
• The paper only mentions security as a general introductory term or
• is not available as a full version, only an extended abstract or presentation, or
• is a duplicate of an included paper or
• is superseded by an included paper or
• is published more then ten years ago.</p>
        <p>If duplicate papers are encountered only the most recent or most extensive version is included. We defined
a scope of ten years because approaches described in older papers either have been developed further, and are
thus included through later papers, or have most likely become outdated for current technology.</p>
        <p>The inclusion or exclusion of a paper is decided in two phases. First, during the initial selection phase the
abstract, title and keywords of a paper are evaluated against above criteria. In case of doubt the conclusion
of the paper is also consulted. Second, during the final selection phase the included papers are fully read and
their inclusion is re-evaluated. Each paper is evaluated by one participant of the SLR while another participant
validates this evaluation. If participants disagree on the inclusion or exclusion of a paper consensus should be
reached through a discussion between all participants.
2.3</p>
      </sec>
      <sec id="sec-2-3">
        <title>Search Strategy</title>
        <p>A search strategy defines how to retrieve relevant research works. In order to achieve maximal coverage our search
strategy consists of three complementary methods: a digital library search, a manual search and snowballing.</p>
        <p>First, we searched digital libraries by means of a search string containing relevant terms. Table 1 contains
an overview of the selected digital libraries. In our opinion this selection covers a sufficiently large amount of
the defined domain and including more libraries would result in too much overhead. Furthermore the selected
libraries provide extensive search functionality, allowing complex search strings. We considered using Google
Scholar but due to technical limitations it was not included.</p>
        <p>An initial search string was constructed by selecting terms from a manually composed set of highly relevant
papers. This search string was fine-tuned to reduce the number of irrelevant papers using the top 100 results of
ACM and CiteSeerX. To avoid an explosion in the number of results the search string is only queried over the
abstract, keywords and title. Due to space constraints we do not describe the final search string here1</p>
        <p>Second, we performed a manual search of papers published in relevant conferences and journals. Tables
2 and 3 contain an overview of respectively the selected conferences and journals. In our opinion this is a
representative selection of venues for the defined research domain.
1More information can be found at https://people.cs.kuleuven.be/alexander.vandenberghe/search-string.html.
The research questions are answered by analyzing the included approaches2. First, the quality assessment
uses a quality questionnaire, shown below, to score each approach. Allowing one to rank the approaches relative
to each other.</p>
        <p>1. How many papers are published for the approach?
2. How is the approach evaluated?
• Industrial case study
• Researcher or student case study
• Toy example</p>
        <sec id="sec-2-3-1">
          <title>3. How much tool support is available for the approach? • Full tool support • Partial tool support • No tool support</title>
          <p>For the first question an approach is awarded one point per paper included in the SLR. For the second
question an industrial case study awards two points, a researcher or student case study awards one point and a
toy example awards half a point. Points are awarded per unique instance of an evaluation. If different papers
describe the same evaluation points are awarded only once. If for example multiple papers for one approach
describe the same toy example only half a point is awarded. For the third question full tool support awards
one point whereas partial tool support awards half a point. Full support means one or more tools support the
creation of all notational elements provided by the approach and its analysis method can be performed without
user intervention. If only part of the approach is supported by one or more tools (e.g., a modeling tool is available
but analysis must be performed manually) it is considered to have partial tool support.</p>
          <p>Second, data extraction is performed using a taxonomy we defined for the SLR. Each approach is classified
over three dimensions: security, software engineering and evaluation.</p>
          <p>The security dimension, shown in Figure 1, provides essential data concerning the first three research questions.
Besides this data any other security artifacts (e.g., test data) constructed by an approach can also be listed.</p>
          <p>The software engineering dimension, shown in Figure 2, allows to situate approaches within the
development process as a whole. Furthermore it allows comparing approaches based on their applicability in different
development phases or domains and thus further elaborates the intended overview.</p>
          <p>The evaluation dimension, shown in Figure 3, provides data for the fourth research question. This dimension
allows to compare both the evaluations for one approach as well as the evaluation for different approaches.</p>
          <p>Third, data synthesis summarizes the data obtained during data extraction to provide answers to the posed
research questions. The first three research questions can be answered by tabulating the data extracted for the
security and software engineering dimension. The fourth research question can be answered by tabulating the
data extracted for the evaluation dimension.</p>
          <p>2Since we want to analyze each approach as a whole, we group all papers concerning one approach together instead of analyzing
each paper individually.</p>
          <p>Security
Operational Mechanisms
Analysis</p>
          <p>Precise/Imprecise/None</p>
          <p>Black Hat/White Hat/None
Confidentiality</p>
          <p>Integrity</p>
          <p>Availability
Accountability</p>
          <p>Privacy
Access Control
Authentication
Authorization</p>
          <p>Logging</p>
          <p>Encryption</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Related Work</title>
      <p>In recent years studies comparable to the SLR proposed in this paper have been performed. These studies can
be divided into three categories: SLR’s, comparisons and surveys.</p>
      <p>First, the SLR category contains studies following the guidelines by Kitchenham and Charters. Jensen and
Jaatun [JJ11] study security in model-driven development. Due to their focus on code generation the scope of
the SLR is rather narrow. Furthermore, no explicit comparison of included approaches is provided.</p>
      <p>Second, the comparison category contains studies only comparing selected approaches. The conclusions from
such studies are useful but provide little information for the domain as a whole. Matuleviˇcius and Dumas [MD10]
compare two approaches for their applicability to role-based access control.</p>
      <p>Third, the survey category contains studies providing an overview of the domain, with optionally a
comparison. These studies are not performed in a systematic manner making them difficult to update.</p>
      <p>Dehlinger and Subramanian [DS06] survey aspect-oriented approaches for designing and implementing secure
software. The included approaches are only individually evaluated without comparison between them.
Jayaram and Mathur [JM05] cover a broader scope by surveying all types of approaches but focus mainly on the
requirements phase. The authors provide no comparison and only general possible research directions.</p>
      <p>Villarroel et al. [VFMP05] not only provide an overview but also compare the surveyed approaches. The
authors use Khwaja and Urban’s [KU02] comparison framework, which lacks security-specific criteria. The
resulting comparison thus does not provide an adequate overview of security in software design. Kasal et
al. [KHN11] solve this problem by defining their own evaluation taxonomy, inspired by Khwaja and Urban’s
framework. The authors define, among others, formality and security mechanisms as evaluation dimensions.</p>
      <p>Dai and Cooper [DC07] evaluate and compare approaches based on supported security properties, used
modeling notations, analysis support and examples. But they do not explicitly define their evaluation taxonomy.
In this paper we described in detail a procedure for a systematic literature review (SLR) concerning the
incorporation of secure concerns in software design. With such an SLR we aim to provide a detailed overview of the
state of the art and define interesting research opportunities. By making the procedure available we first hope
to receive feedback and trigger a discussion. Second, the availability of this procedure allows everyone to
continuously update the SLR with approaches that will emerge after its initial performance. Hopefully resulting in
the continuous availability of an up to date SLR aiding researchers in entering and contributing to the domain.
This research is partially funded by the Research Fund KU Leuven, and by the EU FP7 project NESSoS.
With the financial support from the Prevention of and Fight against Crime Programme of the European Union
(B-CCENTRE).
4</p>
    </sec>
    <sec id="sec-4">
      <title>Conclusion</title>
      <sec id="sec-4-1">
        <title>Acknowledgment</title>
        <p>[DC07]</p>
        <p>Barbara Kitchenham and Stuart Charters. Guidelines for performing Systematic Literature Reviews
in Software Engineering. Technical Report EBSE 2007-001, Keele University and Durham University
Joint Report, 2007.
[KU02]</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [MD10]
          <string-name>
            <given-names>K.</given-names>
            <surname>Kasal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Heurix</surname>
          </string-name>
          , and
          <string-name>
            <given-names>T.</given-names>
            <surname>Neubauer</surname>
          </string-name>
          .
          <article-title>Model-driven development meets security: An evaluation of current approaches</article-title>
          .
          <source>In System Sciences (HICSS)</source>
          ,
          <year>2011</year>
          44th Hawaii International Conference on, pages
          <fpage>1</fpage>
          -
          <lpage>9</lpage>
          , jan.
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <given-names>Amir A.</given-names>
            <surname>Khwaja</surname>
          </string-name>
          and
          <string-name>
            <given-names>Joseph E.</given-names>
            <surname>Urban</surname>
          </string-name>
          .
          <article-title>A Synthesis of Evaluation Criteria for Software Specifications</article-title>
          and
          <string-name>
            <given-names>Specification</given-names>
            <surname>Techniques</surname>
          </string-name>
          .
          <source>International Journal of Software Engineering and Knowledge Engineering</source>
          ,
          <volume>12</volume>
          (
          <issue>5</issue>
          ):
          <fpage>581</fpage>
          -
          <lpage>599</lpage>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <string-name>
            <given-names>R.</given-names>
            <surname>Matuleviˇcius</surname>
          </string-name>
          and
          <string-name>
            <given-names>M.</given-names>
            <surname>Dumas</surname>
          </string-name>
          .
          <article-title>A Comparison of SecureUML and UMLsec for Role-Based Access Control</article-title>
          .
          <source>In Databases and Information Systems</source>
          , pages
          <fpage>171</fpage>
          -
          <lpage>185</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [VFMP05]
          <string-name>
            <given-names>R.</given-names>
            <surname>Villarroel</surname>
          </string-name>
          ,
          <string-name>
            <surname>E.</surname>
          </string-name>
          <article-title>Fern´andez-</article-title>
          <string-name>
            <surname>Medina</surname>
            , and
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Piattini</surname>
          </string-name>
          .
          <article-title>Secure information systems development a survey and comparison</article-title>
          .
          <source>Computers &amp; Security</source>
          ,
          <volume>24</volume>
          (
          <issue>4</issue>
          ):
          <fpage>308</fpage>
          -
          <lpage>321</lpage>
          ,
          <year>2005</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>