Extending SysML For Engineering Designer
Extending SysML For Engineering Designer
sciences
Article
Towards the Integration of Security Practices in Agile Software
Development: A Systematic Mapping Review
Yolanda Valdés-Rodríguez 1,† , Jorge Hochstetter-Diez 2, *,† , Jaime Díaz-Arancibia 2,†
and Rodrigo Cadena-Martínez 3,4,†
Abstract: Software development must be based on more than just the experience and capabilities
of your programmers and your team. The importance of obtaining a quality product lies in the
risks that can be exploited by software vulnerabilities, which can jeopardize organizational assets,
consumer confidence, operations, and a broad spectrum of applications. Several methods, techniques,
and models have been suggested and developed to address software security. However, only a few
have solid evidence for creating secure software applications. The main objective of this paper is to
survey the literature for methods or models suitable for considering the integration of security in all
or some of the phases of the software development life cycle and which ones are most considered or
neglected. This study represents the beginning of research to generate a methodology that integrates
security practices in agile software development, allowing inexperienced developers to create more
secure applications.
2. Background
According to [22], the software development life cycle (SDLC) is defined as a set of
phases that software must go through from the moment a need arises, passing through the
phases of development and operation.
Software engineering implements a series of “models” that divide the project into
stages from its initial conception, development, testing, release, and maintenance. For each
stage, standards are created those guide engineers, guiding the work of the different
phases in technical activities and, thus, providing a formal framework for management,
development progress, maintenance, and resource estimation.
Developing secure and reliable software also requires adopting a systematic process
or discipline that addresses security in each of the phases of the software life cycle.
Appl. Sci. 2023, 13, 4578 3 of 31
Some software development models integrate security activities such as specific design
principles and security practices.
• Secure Software Development Life Cycle (S-SDLC), this model is based on verifying
security requirements throughout the different phases of software construction [23,24].
The advantage of adopting an S-SDLC approach is the identification of coding and
design errors in the early stages of development [24].
The research paper by Mohino [23] proposes a new Secure Software Development
Life Cycle (S-SDLC) that addresses security issues in software development. The S-
SDLC includes six phases: requirements, design, implementation, testing, deployment,
and maintenance, and integrates specific security activities into each phase. The au-
thor emphasizes the importance of incorporating security early in the SDLC process,
beginning with the requirements phase. Developing security requirements is derived
from business requirements and security policies to achieve this. During the design
phase, the focus is on creating a secure software architecture that aligns with the
security requirements. The implementation phase includes secure coding practices
that aim to prevent security vulnerabilities. Security testing is carried out during the
testing phase to identify and remedy security issues. The deployment phase involves
secure deployment and configuration of the software to ensure the software remains
secure. The maintenance phase focuses on ensuring the software continues to be se-
cure through ongoing monitoring, vulnerability management, and incident response.
The proposed S-SDLC provides a comprehensive approach to integrating security
into the SDLC process to develop secure software from the outset. With S-SDLC,
several additional security practices and activities can be enriched. These practices
include a security specification language, a security requirements engineering process,
a secure design specification language, a set of secure design guidelines, a secure
design pattern, a secure coding standard, and a software security assurance method,
which may comprise penetration testing, static analysis for security, and code reviews
for security [23].
• Security Assurance Maturity Model (SAMM), the goal of the OWASP SAMM is to
be the leading maturity model for software assurance that provides a practical and
measurable way for all types of organizations to analyze and improve their software
security posture [25]. This model supports the entire software lifecycle, including
development and acquisition, and is independent of technology and processes. The
Software Security Maturity Model (SAMM) is an open methodology that allows or-
ganizations to design and implement a strategy to improve software security [26].
This model addresses the specific software security risks faced by each organization.
The Security Assurance Maturity Model (SAMM) is a framework designed to help
organizations to improve their software security processes. SAMM has four domains:
Governance, Construction, Verification, and Deployment. Each domain has three
maturity levels, ranging from ad-hoc to optimized processes. The Governance domain
covers policy and strategy, which provides direction and guidance for the security
program. The Construction domain includes software design, development, and test-
ing. The Verification domain covers testing and analysis to ensure the software is
secure. The Deployment domain includes release management, operations, and in-
cident management. SAMM also includes a measurement model, which assesses an
organization’s maturity level for each domain. The model evaluates the organiza-
tion’s practices, policies, and procedures against the SAMM framework. The results
provide a roadmap for improvement. SAMM is a flexible and adaptable framework
that allows organizations to tailor the model to their needs. It provides guidance and
best practices to improve software security and helps organizations to mature their
software security processes over time [26].
• McGraw’s Secure Software Development Life Cycle Process, in his article “Security
Software Building Security in Seven Touchpoints for Software Security,” McGraw’s
proposal focuses on integrating security into the software development life cycle
Appl. Sci. 2023, 13, 4578 4 of 31
(SDLC) through seven touchpoints [27]. The seven touchpoints include (i) Require-
ments: Define the software security requirements and establish the basis for the rest of
the development process. (ii) Design: Design a secure software architecture consid-
ering the previously established security requirements. (iii) Implementation: Write
lines of code and apply secure coding practices. (iv) Testing: Perform security tests
to ensure compliance with previously established security requirements. (v) Integra-
tion: Ensure proper software integration with other systems and maintain security.
(vi) Deployment: Implement the software securely and configure it properly. (vii)
Maintenance: Implement safe maintenance practices to ensure the continued software
security and quickly address security issues. This approach focuses on integrating
security into all stages of the software development lifecycle to ensure the resulting
software is secure and reliable [27].
We can identify several differences between the Secure Software Development Life
Cycle (S-SDLC), Security Assurance Maturity Model (SAMM), and McGraw’s Secure Soft-
ware Development Life Cycle Process: (i) Approach: The S-SDLC and McGraw’s SDLC
process focus on integrating security into the software development life cycle. In contrast,
SAMM focuses on improving the organization’s overall security program. (ii) Framework
Structure: The S-SDLC and McGraw’s SDLC process provide a structured approach to
software development, while SAMM provides a framework for assessing an organization’s
overall security maturity. (iii) Domains and Maturity Levels: The S-SDLC has six phases,
McGraw’s SDLC process has seven touchpoints, and SAMM has four domains, each with
three maturity levels. (iv) Emphasis: The S-SDLC and McGraw’s SDLC process empha-
size the software development process, while SAMM emphasizes the security program.
(v) Assessment: The S-SDLC and McGraw’s SDLC process do not include an assessment
model, while SAMM includes a measurement model that assesses an organization’s security
maturity level.
as Agile and Secure Software Development Life, this model has been the subject of
study in [34].
• Microsoft SDL Agile, it is an adaptation of the SDL Methodology (Security Devel-
opment Lifecycle) that was developed by Microsoft to integrate security into agile
software development processes [35]. The Agile SDL methodology focuses on inte-
grating security into each iteration of the agile software development process. Rather
than following a “wait until the end” approach to integrating security, the Agile SDL
methodology promotes the inclusion of security activities in all phases of the agile
development process. Security activities include early risk identification, defining
secure user stories, performing security testing in each iteration, and implementing se-
curity best practices in the agile development process. The Agile SDL methodology is
based on the agile software development lifecycle, which includes planning, analysis,
design, implementation, testing, and maintenance. By integrating security into each
stage of this lifecycle, it is possible to ensure that the software developed is secure and
complies with security requirements.
• Building Security In Maturity Model (BSIMM), is a security maturity model used to
describe the practices and processes used by leading software security organizations
to develop, improve and maintain effective software security programs [36]. BSIMM
focuses on assessing organizations’ software security programs by measuring their
maturity in 12 common security practices. This model helps organizations develop
their own software security program and provides a tool for ongoing assessment
of software security maturity over time. The latest version of the model, BSIMM10,
released in 2020, addresses agile properties of software development. It includes prac-
tices and processes relevant to agile approaches, such as continuous integration and
continuous delivery, security automation, security management in the product back-
log, and security collaboration between development teams. In addition, BSIMM10
focuses on the importance of security in the context of agile frameworks, such as
Scrum and DevOps.
The software development models presented in Section 2 share a common focus
on improving software safety throughout the software development life cycle. BSIMM
and SAMM are software security maturity models that measure the maturity of software
security programs and provide guidance for improving them, although BSIMM focus
specifically on agile properties. Meanwhile, S-SDLC and McGraw’s Secure Software De-
velopment Life Cycle Process are secure software development life cycle models that
integrate security into each stage of the development process. While S-SDLC provides
general guidelines and best practices for developing secure software, McGraw’s Secure
Software Development Life Cycle Process focuses on eliminating vulnerabilities through
a secure architecture from the outset. On the other hand, Correctness by Construction
is a methodology that seeks to produce correct software from the beginning through a
rigorous definition of security requirements, a solid and verifiable design, and a preventive
approach to avoid introducing errors. Finally, SDL Agile is an adaptation of Microsoft’s
SDL model that integrates security into agile software development processes. This model
focuses on security automation, security management in the product backlog, and security
collaboration between development teams, fostering collaboration and continuous integra-
tion of security throughout the software development lifecycle. In summary, while these
models share a common goal of improving software security, each offers a unique and
complementary approach to achieving it.
Software assurance is the confidence that a system meets all its security require-
ments. In most of those requirements of interest to customers and users of the software,
this confidence is based on specific evidence collected and evaluated through assurance
techniques [37].
The techniques or mechanisms established for information security are considered
rigid to respond to the changes and advances that are presented in the changing security
environment, where there is a need for a more agile method to deal with new threats and
Appl. Sci. 2023, 13, 4578 6 of 31
vulnerabilities [38]. Thus, the traditionally established security mechanisms are no longer
effective when used with software development methodologies adapted to the needs of the
current environment, such as agile methodologies [39].
The use of agile methodologies in software development implies, on several occasions,
not considering the good practices of secure development, whose purpose is to guarantee
the fulfillment of the own security policies of the software development [40–45].
Several authors state that developing secure software using agile methodologies
is challenging. Applying security practices in agile methodologies presents challenges
because agile methodologies support requirements changes prefer frequent deliveries,
and their practices do not include security engineering activities [41].
The paper published by [46] discusses defects in the requirements specification stage,
which generally in security aspects are misunderstood and incorrectly specified due to
lack of security expertise. These concerns become even more challenging in agile contexts,
where lightweight documentation is generally produced. To address this problem, the indi-
cated article proposes an approach to review security-related aspects of web application
requirements specifications in agile contexts. The methodology considers user stories as
inputs and relates them to the OWASP (Open Web Application Security Project) security
properties, which must be verified and then generate a reading technique to help reviewers
detect defects. The methodology was evaluated through three experimental tests performed
with 56 novice software engineers, measuring effectiveness, efficiency, usability, and ease
of use. The results indicate that the proposed methodology has a positive impact on the
number of vulnerability findings in terms of effectiveness and efficiency.
There seems to be a clear need for a software development model which addresses
security issues at any stage of the software life cycle and considers the benefits of agile
models. In this context [23] proposes a model that introduces security as a crucial element
in software development environments and, at the same time, leverages agile properties.
On the other hand, Sharma et al. [47] offers a framework for agile development
that addresses security, considering customer requirements. The implementation of this
Framework has been implemented in Java to automate the whole process, although the
author points out that the suggested security activities should be tested and evaluated in a
real industrial environment.
4. Related Work
There is an interesting study [48] where the authors address the main reasons why
current software systems are so insecure, pointing out the lack of empirical research in the
area of Software Engineering to understand better where and why security-critical bugs
arise in the software development life cycle. The lack of tools at all levels of the software
development cycle to automatically detect coding vulnerabilities, and finally, he points
out that a significant factor is that the training of today’s students will impact tomorrow’s
engineers, so both educational institutions and engineering teachers must integrate security
into their curricula [49,50].
Here is the importance of generating secure software, especially considering that we
rely heavily on software systems in various daily activities that we may perform [1,2]. It
is a high priority to ensure several points of security [3] so that the software continues
to function properly under malicious attack and does not allow unauthorized access to
sensitive data [4] and does not allow unauthorized access to sensitive data.
The main problem in mitigating risks and achieving cybercrime reduction is the
unavailability of a single framework that can integrate security and design tactics when
building the software [51,52].
Considering the above, it is necessary to know current studies that show trends, em-
pirical studies, or evaluations of security methodologies, tools, or techniques in developing
secure software. Under this logic, we have found studies such as Abeyrathna et al. [53],
who propose to model the knowledge and find links between security flaws in source code
Appl. Sci. 2023, 13, 4578 7 of 31
and security flaws in the design phase. The results indicate that security problems at the
software architecture level lead to security flaws in the source code.
Regarding the adoption of static analysis for software security evaluation, Nguyen et al. [54]
presents the results of a case study in which static application security testing (SAST) was
applied in an open-source e-government project. The results show that it is possible to
increase performance by combining different SAST tools.
A study on developer discussions and security challenges related to the most pop-
ular programming languages is presented in [55]. More than 20 million issues from
27,312 GitHub repositories were examined for this research. Subsequently, an analysis
was performed using quantitative and qualitative methods for 15 of the most popular
programming languages, such as Java, C, Python, and PHP.
The main findings of this study were: Security issues of web-oriented languages
(e.g., JavaScript, TypeScript, and PHP) receive the highest popularity, and mobile-oriented
language users (e.g., Java, C#, Objective-C, and Swift) have the highest level of security
expertise. Shell-based and Web-oriented languages experience significantly higher average
rates of security discussion. Scientific programming-oriented languages (Julia, MATLAB,
and R) exhibit very small numbers of security discussions. C/C++ are the only languages
that face memory management challenges.
Antal et al. [56] conducts a study on the security awareness of open-source communi-
ties by examining Python and JavaScript projects for vulnerabilities. These results allow
us to identify categories of vulnerabilities that are not sufficiently addressed and explore
patterns that could help build or create vulnerability prediction models.
The work done by [34] stands out for managing security issues from the initial stages
of the development process. The author proposes a secure development model through
a case study applied to a software development company. The results indicate that the
number of vulnerabilities detected is reduced by 66%.
Correa et al. [57] propose a methodology that evaluates and prevents security vulner-
abilities in web applications. The analysis process is performed through black-box and
white-box evaluations using dynamic and static analysis tools.
The results presented in [58] contribute to understanding how teams integrate and
model threats in the context of agile development and what can be done to facilitate the
process. They also present a list of recommendations that can help companies improve
their threat modeling strategies.
Engineering programs still need to address the importance of including security in
software design. In this sense, the work proposed by [21] proposes a practical approach
to integrate security in the development lifecycle of engineering systems and support
engineering students in developing secure products and processes. The proposed model
stems from an adaptation of SecSDM (Secure Software Development Methodology) [21].
Concerning previous studies, a 2018 study on security in agile requirements engi-
neering [59] provides some insights on handling security requirements, modifying agile
methods already in use, introducing new artifacts, or introducing guidelines to handle
security. The study also identifies significant limitations of agile approaches considering
security: lack of time, developer skills and security awareness, and middleware guidelines
for gathering and addressing security requirements.
Weir et al. [60] have studied the effectiveness of a series of interventions by a facili-
tator and a development team that does not require the involvement of a security expert.
The results indicate substantial improvements in the ability of teams to deliver secure
software and can even be effective with teams with little or no security expertise—the
research project aimed at defining a cost-effective solution to support development teams
in creating secure products. The results showed that the intervention improved the process
or understanding of security in all but the most security-savvy group. The intervention
had the most significant impact when the facilitators of the workshops were managers.
On the other hand, the private sector presents interesting initiatives to mitigate
the risks associated with integrating Security Practices in Agile Software Development.
Appl. Sci. 2023, 13, 4578 8 of 31
5. Methodology
The methodology consists of applying the systematic mapping technique, which
provides an overview of a research area through classification [66]. It is a method commonly
used to answer, one or more research questions methodically. Next, we present the steps
followed by the protocol for conducting systematic mappings, adapting the stages described
in Figure 1.
The stages that make up the systematic mapping process are described in the follow-
ing sections.
technology, not its use applied to software development; Articles that consider the impact
of applying some security metric on software development; Articles that discuss security
from the point of view of infrastructure, IoT, physical security, networks.
After extracting the initially selected articles, duplicate studies or studies that were
part of a literature review were eliminated, reducing the number further to 312 papers.
Then, the inclusion and exclusion criteria were applied by reading the abstracts and finally
discarding those articles that: only refer to software development without considering
security in any of its phases; address security only as a tool, emphasizing technology, not its
use applied to software development; consider the impact of applying some security metric
in software development; and increase security from the point of view of infrastructure,
IoT, physical security, networks.
6. Main Results
6.1. Overall Analysis by Characteristics
This section presents the results of the classification and analysis of the selected studies.
The first aspect focuses on the type of publication, whether journals or congresses. Most of
the study articles were published in different journals (30 articles), which represents 77% of
the total articles. The databases of these journals are IEEE Xplore, Web of Science, ACM,
and Scopus. On the other hand, the articles published in conferences represent 23% of the
total analyzed (9 articles, see Figure 3). This allows us to indicate which type of publication
is more attractive to researchers in security aspects.
A second aspect of the classification focuses on the sources of the primary published
studies, which helps us to identify which databases are most active in security aspects
(see Figure 4). The sources defined for the study correspond to Web of Science, ACM
Digital Library, Science Direct, Scopus, and IEEE Xplore; according to the findings, there
is a wide preference in the research community for publishing in IEEE Xplore with 51%
of the selected works. In second place is Scopus with 26%, Web of Science with 13% of
the preferences, and finally ACM Digital Library with 4 selected articles. It is important to
mention that in Science Direct, there were no papers contributing to this research, which
may be because it is not an interesting and attractive source for researchers in the area.
Appl. Sci. 2023, 13, 4578 12 of 31
Regarding the years of publication of the selected articles, the following Figure 5
illustrates the distribution of the studies by year of publication. A downward trend is
evident since 2020, this is probably due to the pandemic effect. In 2019, there was a
considerable increase in publications, with 11 papers. It is important to consider that the
search was performed in August 2022, so it is expected that by the end of the year, there
may be more publications in the area.
Another aspect that needs to be discussed and will provide us with inputs to answer
the research questions is to know what is the proportion of articles that contribute to the
research topic, specifically on security in the software development cycle.
Of the articles reviewed, it can be seen that just over half of the articles analyzed
(54%) use security in the phases of the software development cycle (SDLC), corresponding
to 21 articles. However, there is a significant number of articles (26%) that refer to the
evaluation of security metrics, comparisons, and risk analysis, among others that do not
consider applying security in any phase of the SDLC. Finally, 8 articles were found that do
not consider the use of security in the SDLC phases.
The classification of articles was carried out considering:
• Articles that use security in the SDLC phases (see Figure 6),
• Articles that use a methodology or propose a process,
• Articles that evaluate security after applying the proposed method.
Appl. Sci. 2023, 13, 4578 13 of 31
The analysis shows that the largest number of papers are concentrated in the imple-
mentation category, with 28 (72% of the total). Of these, 17 correspond to the Software
Industry category according to the context where they are developed, representing 44% of
the total.
Regarding the time dimension of these 17 works, it is evident that their concentration
is in 2020 with 6 works, then there is a decline in 2021 and 2022, which may be due to the
pandemic. It is important to mention that the data extraction was performed in August
2022, so it can be inferred that at the end of the year, this amount should be higher.
Of the 39 works selected, 72% (28) correspond to works that generate new proposals
regarding developing secure software (implementations). 30% (12) are papers aimed at
analysis, literature review, or comparison of studies related to secure software development.
Only 10% (4) are works that are based on applying proposals from other authors. Some
works are categorized into more than one type of work; that is, a work may present a
proposal as well as an analysis of the literature, in which case, we have classified it as
“implementation” and “analysis”.
6.3.2. Implementation
In [71], a methodology is proposed that promotes security in individual developers’
software products. The usefulness of the resulting methodology has been evaluated through
a case study conducted in an academic environment. The results successfully show the
usefulness of the methodology in building secure and high-quality software applications
in the areas of Education, Health, Government, and Business; however, it is important to
consider that the academic environment is very different from the industrial one, which
makes it difficult to generalize the results of the study.
6.3.4. Uses
In the search, our attention was drawn to the article [73], which provides an overview
of four categories or approaches to achieve the security of software systems, static and
dynamic analyses, formal methods, and adaptive mechanisms. The authors also intuitively
present and demonstrate their applications with several examples, listing the strengths and
weaknesses of each approach to help software engineers make informed decisions.
Another interesting study [74] presents a series of modules designed to teach students
the fundamental concepts of software engineering from a security perspective: Software
Requirements, Software Design, Software Construction, Testing, and Maintaining Secure
Software. The evaluation of the educational effectiveness of the modules is still pending,
and for which experiments will be conducted with the students. Using pre-and post-
tests. The level of understanding of the students in the practice of secure software will
be examined. Qualitative data will also be collected and analyzed to look at the percep-
tion and analyzed to observe students’ perception and awareness of the importance of
securing software.
Table A1 shows the list of articles selected for review.
RQ2: How many articles study security practices for agile software development?
We found 5 works that study the integration of security in agile development environ-
ments, see Figure 9, of which [68] stands out for establishing security requirements for the
design, implementation, verification, and release of secure software through an efficient
software security development process. We cannot fail to mention the work reported [71]
proposes an agile, secure software development methodology that promotes quality and
security in software products of individual developers; however, this proposal does not
provide a clear picture of use since it is evaluated in an academic environment and it is,
therefore, difficult to generalize the results of the case study.
The resulting three related papers build on [72], a comprehensive and detailed review
of agile software development in the context of IoT, ITS, and its cybersecurity and risk
challenges. An automated risk assessment approach is explored in [69], and an exploratory
study on agile security practices adopted by software developers and security practitioners
is presented in [75].
RQ3: What is the context/setting where the articles take place?
Based on Figure 7, it is possible to determine the contexts in which the selected research
is conducted. Most of the works are developed in the software industry, with 25 articles.
This is followed by 16 articles undertaken in the area of vulnerabilities. In the area of critical
infrastructure, we have 7 works as well as in organizations and finally with 2 and 1 work
in the areas of cybersecurity education and health, respectively. See Table 4.
Classification Total
Health 1
Organizations 7
Vulnerabilities 16
Cybersecurity Education 2
Critical Infraestructure 7
Software Security 25
RQ4: What are the SDLC phases that have most addressed security in software
development?
We found several articles that propose methods to address security in software devel-
opment involving all phases of the software development cycle. In this sense, it is essential
to point out that, of the 17 articles that propose implementations, there are 9 articles that
address security in all phases of the SDLC, which represents 23% of the total.
From the above analysis, we can answer the following research question:
RQ5: Which particular phase of SDLC has been least discussed and addressed in the
literature?
Appl. Sci. 2023, 13, 4578 17 of 31
Observing Figure 10, we can conclude that the Analysis and Design, Development,
and Maintenance phases are the least addressed in terms of security.
RQ6: What results have the new methods or models yielded to ensure security in the
development of secure software?
Figure 10. Software development phases that use security in software development.
In the papers analyzed, several results can be distinguished, see Figure 11. According
to the findings, 26 articles do not present evaluations to discover if the proposed model is
better or worse, which represents 67% of the articles. By contrast, 11 articles evaluate the
proposal, which represents 28%.
The results obtained from these evaluations are varied, according to Figure 12: of the
selected articles, 10 (26%) do not indicate whether the result is better or worse, 19 indicate
that they have good results from their proposed framework (49%), one article (2%) indicates
that the result obtained was worse after evaluating the framework, 4 papers (10%) indicate
that the result is neutral, and finally there are 5 articles (13%) that do not indicate this result.
7. Discussion
7.1. Analysis
Software development teams need a particular method to develop software, which
translates into greater competitiveness and success using appropriate practices, tools,
and techniques. Today’s job market demands more frequent and robust software releases
against possible security attacks that may affect them.
Agile methods currently offer a highly flexible and rapid software development pro-
cess [76]; however, security is neglected in favor of adaptability to new requirements.
Several secure software development frameworks, approaches, and maturity models pro-
vide some support to developers for incorporating security into agile environments.
A related paper presented by [58] contributes to understanding how teams integrate
and model threats in the context of agile development. They also present a list of recom-
mendations that can help companies improve their threat modeling strategies. Engineering
programs have yet to address the importance of including security in software design.
In this regard, the work proposed by [21] proposes a practical approach to integrate secu-
rity into the engineering systems development lifecycle and support engineering students in
developing secure products and processes. The proposed model is based on an adaptation
of SecSDM (Secure Software Development Methodology) [21].
This paper aims to provide an overview of the literature according to [67] to identify
approaches or work models applied to secure software development, to define which phases
of the software development cycle are the least addressed, and what have been the results
of these proposals. To achieve this, we focus on the systematic mapping methodology that
allows us to have an overview of a research area through the classification [66] and to share
the current trends of existing frameworks for software development involving security.
Our research analyzes the current literature in several ways. First, by time, this
temporal dimension classifies the works according to the year of publication based on the
assumption that we have selected works from the last five years. The analysis evidence that
the highest number of articles is concentrated in 2019 and 2020. There is a decrease in 2021
and 2022, possibly due to the pandemic. The second classification corresponds to the context
dimension where the research was conducted: Health, Organizations, Vulnerabilities,
Cybersecurity Education, Critical Infrastructure, and Software Industry. According to our
research, the most significant number of articles is concentrated in the application category,
with 28 (72% of the total). Of these, 17 correspond to the Software Industry category
according to the context in which they are developed, representing 44% of the total.
The third dimension corresponds to the type of work in which the article is framed.
This classification defined three types: (i) Implementation: corresponding to works that
generate new proposals about secure software development. (ii) Analysis: those works
that perform analysis or comparisons of studies related to secure software development
Appl. Sci. 2023, 13, 4578 19 of 31
or when the works correspond to bibliographic reviews, and (iii) Utilization: those works
that are based on applying other authors’ proposals on topics related to secure software
development. Of the 39 selected papers, 72% (28) correspond to papers that generate new
proposals related to secure software development (implementations). The 30% (12) are
works oriented to the analysis, bibliographical review, or comparison of studies related
to secure software development. Only 10% (4) are works based on the implementation of
other authors’ proposals. Some papers are classified into multiple types of work, i.e., a
paper may present both a proposal and a literature analysis. In this case, we have classified
it as “implementation” and “analysis”. The results show that there is a concern about
addressing proposals related to software development. Of the 39 works selected, 72% fall
into this category (28). It is observed that slightly more than half of the articles analyzed
(54%) address security in one of the phases of the software development cycle (SDLC),
corresponding to 21 articles. However, a significant number of articles (26%) refer to the
evaluation of security metrics, comparisons, and risk analysis, among others that do not
consider applying security in any phase of the SDLC. Finally, eight articles were found that
do not consider the use of security in the SDLC phases.
Our results indicate (see Figure 13) a lack of attention to security education, which
results in finding engineers with no experience in security practices in software develop-
ment. In the vulnerability identification and mitigation category, the maintenance and
validation stage is the most used (30% of this category). The studies related to the code and
requirements level implementation phases are less treated, reaching 20% of the category
implementations. There are no related works in the secure modeling and analysis category.
The number of related studies corresponds to a study presenting an evaluation of security
issues in DevOps. We found two studies that indicate dealing with security in all phases.
One of them [77] is concerned with proposing a DevOps approach based on metrics that
support managers during the decision-making process, which is far from strengthening the
security expertise of young engineers. The second case [78] uses static analysis and software
metrics to evaluate the internal security level of software products; however, its results
indicate that it only applies to JAVA applications, and the presentation of results is difficult
to understand, especially for people with little or no technical knowledge. This has been
represented in a pie chart where 10 studies are related to the vulnerability identification
and mitigation category, representing 26% of the total number of studies identified.
8. Proposals
Secure software development must be based on more than the experience and skills
of the programmers or team. It must be based on models or frameworks that integrate
security practices with agile software development practices. Agility is a key concept that
facilitates acceptance by users and, especially, developers. Both elements are essential to
moving toward an agile development model that incorporates security as an integral part
of the process. Although some works have been identified that address security in the
construction of systems, none explicitly point to a model that facilitates the integration
of security in developments carried out by developers or teams with no experience in
this area.
Given the uncertain environment surrounding software development and the grow-
ing threat of cyber attacks with serious consequences, especially when they affect critical
systems that handle sensitive information, it is essential to train inexperienced engineers
in secure development issues. This will allow them to have a method that integrates se-
curity practices throughout the software development process, without affecting agility.
To address this problem, it is proposed as future work the creation of a model or proposal
that guides the development of secure and agile software, highlighting the benefits of
integrating security and agility in a single methodology. This model should focus on the
inclusion of security practices from the design phase to the delivery of the software, and on
the implementation of agile methodologies that allow a fast and efficient delivery of the
software. The implementation of this methodology is expected to reduce software security
risks and improve software quality, thus, satisfying the needs of users and customers. In ad-
dition, training in secure and agile development practices will allow software engineers to
develop skills and knowledge that will be key to facing current and future challenges in
secure software development.
Security in software development is a critical issue due to its implications for both
users and companies. To address this issue, a systematic mapping of the existing literature
on secure development models and practices in the last 5 years was carried out. From the
results obtained, research gaps were identified, such as the lack of empirical validation
of the proposed methods in inexperienced teams. In addition, it was found that most
of the work found focuses on robust teams, which leaves a gap in research on how to
apply security practices in less experienced teams. To address the identified research gaps,
the next step is to develop a method to integrate security practices into all stages of the
software life cycle. This method should be designed with the goal of reducing software
security risks and improving software quality. In addition, it should include security
training and awareness for students, which will contribute to fostering a security culture
in the software development process. It is important to note that this comprehensive and
Appl. Sci. 2023, 13, 4578 21 of 31
proactive approach to security from the early stages of the software development process
will allow early identification of risks and their resolution in a more efficient manner. In this
way, the resulting software is expected to be more secure and reliable, satisfying the needs
of users and businesses. In summary, the proposal is to develop a method to integrate
security in all stages of the software life cycle, improve security awareness and training of
software developers, and foster a culture of security in software development.
Figure 14 shows the proposal we plan to carry out, which consists of the following
phases:
Phase 1: We adopt a systematic literature review approach to explore the security
challenges in web application development and to identify existing security gaps. This
review will allow us to comprehensively analyze existing information in the field and
establish a solid framework for our work.
Phase 2: To validate the findings obtained from the systematic literature review and to
identify possible additional security challenges in web application development, we will
conduct a questionnaire survey. This approach will allow us to gather information directly
from novice web development professionals and empirically validate security gaps.
Phase 3: In this phase, we will develop the proposed methodology by identifying
security controls and agile practices to be combined and integrated from the beginning of
the process and in each iteration. The methodology will be implemented and evaluated
after each iteration to ensure that the appropriate practices are followed and the established
quality and security objectives are met.
10. Conclusions
The main focus of this paper is to identify the main research trends in secure software
development and to know the results of their proposals. The main findings are summarized
as follows: 9810 articles were selected using a search string established from the PICO
(Population, Intervention, Comparison, and Outcomes) strategy outlined in [67]. The results
were limited to the last five years, from 2018 to 2022, obtaining a total of 368 articles.
Repeated articles, as well as those that were already literature reviews, were eliminated
from the selection so that they would not influence or affect the present study. With this
limitation of articles, the total number of papers selected for the first reading was 312 articles.
After reading the abstract, 51 articles were selected for full reading, of which 12 were not
included in the study because we did not have access to them. Finally, the study was
carried out with 39 scientific articles.
The 39 articles selected and reviewed were classified into three dimensions for analysis:
by time, by context in which they are developed, and by type of work. The time dimension
classifies the works according to the year of publication, considering the limitation that we
have considered of the last 5 years. The context dimension corresponds to the scenarios
where the research is developed; the scenarios considered correspond to: Health, Orga-
nizations, Vulnerabilities, Cybersecurity, Education, Critical Infrastructure, and Software
Industry. With respect to the categories according to the type of work, the dimensions
were we have the category Implementation, which corresponds to works that generate new
proposals for the development of secure software. Analysis categories are those works that
perform analysis or comparisons of studies analysis or comparisons of studies related to
secure software development, or when the works correspond to reviews of Finally, the Use
category corresponds to those works that are based on applying or presenting proposals
from other authors on topics related to secure software development.
The analysis shows that the largest number of works is concentrated in the category
of implementations, with 28 works representing 72%. Of these 28 studies, 17 correspond
to the Software Industry category according to the context in which they are developed,
representing 44% of the total. Regarding the time dimension of these 17 works, it is evident
that their concentration is in the year 2020 with 6 works, then there is a decline in the years
2021 and 2022, which may be due to the pandemic. According to our research, it is essential
to note that of the 17 articles that propose implementations, there are 9 articles that address
security in all phases of the SDLC, which represents 23% of the total selected.
From the above analysis, we can conclude that the Design, Implementation, and Vali-
dation phases are the least addressed in the analyzed literature. In response to the results
obtained from the new development models or frameworks to ensure security in software
Appl. Sci. 2023, 13, 4578 23 of 31
development, several results are distinguished; according to the findings, there are 10 arti-
cles that do not indicate whether the result is better or worse, which represents 26% of the
articles, 19 articles indicate having good results of their proposed implementations with
49%, only 1 work indicates that its result was worse after the evaluation (2%) and 4 works
indicate that the result is neutral with 10%.
The contribution of this paper is to share the current trends about the existing methods
for software development involving security. With this scenario, it is possible to provide
resources to researchers that allow them to come up with a general framework covering
the main security challenges in the software development life cycle, which aims to drive
the development of more secure software by inexperienced developers.
As future work, it is expected that this study will be an input for further research
that seeks the construction of a method that is aware of security throughout the software
construction process and that is focused on inexperienced teams or developers. It is also
expected to guide and be a reference for future research in the field of software engineering,
considering the limitations found. Another proposal for future work is the search for works
that contemplate security in mobile developments and that can provide a basis to contribute
to these new technologies, secure and more reliable developments.
Author Contributions: Y.V.-R. contributed to the writing and development of the manuscript in all
its phases. J.H.-D. contributed to the methodology used and discussion. J.D.-A. contributed to the
analysis of the results and limitations of the study. R.C.-M. contributed to the review of articles. All
authors have read and agreed to the published version of the manuscript.
Funding: This work was supported in part by Proyecto DIUFRO DI22-0043 Universidad de La
Frontera, Temuco, Chile. Jaime Díaz-Arancibia is supported by Grant ANID, Chile, Fondecyt de
Iniciación en investigación, Project No 11230141.
Institutional Review Board Statement: Not applicable.
Informed Consent Statement: Not applicable.
Data Availability Statement: Not applicable
Acknowledgments: The authors wish to thank the Universidad Americana de Europa and its
Doctoral Program in Informatics. More, special thanks to the scientific research initiative DIUFRO,
funded by the Universidad de La Frontera, project DI22-0043, and Grant ANID, Project No 11230141.
Conflicts of Interest: The authors declare no conflict of interest.
Abbreviations
The following abbreviations are used in this manuscript:
Appendix A
References
1. Faheem, M.; Shah, S.B.H.; Butt, R.A.; Raza, B.; Anwar, M.; Ashraf, M.W.; Ngadi, M.A.; Gungor, V.C. Smart grid communication
and information technologies in the perspective of Industry 4.0: Opportunities and challenges. Comput. Sci. Rev. 2018, 30, 1–30.
[CrossRef]
2. Lee, M.; Yun, J.J.; Pyka, A.; Won, D.; Kodama, F.; Schiuma, G.; Park, H.; Jeon, J.; Park, K.; Jung, K.; et al. How to respond to the
fourth industrial revolution, or the second information technology revolution? Dynamic new combinations between technology,
market, and society through open innovation. J. Open Innov. Technol. Mark. Complex. 2018, 4, 21. [CrossRef]
3. Liou, J.C.; Duclervil, S.R. A survey on the effectiveness of the secure software development life cycle models. In Innovations in
Cybersecurity Education; Springer: Berlin/Heidelberg, Germany, 2020; pp. 213–229.
4. McGraw, G. From the ground up: The DIMACS software security workshop. Secur. Privacy IEEE 2003, 1, 59–66. [CrossRef]
5. Castellaro, M.; Romaniz, S.; Ramos, J.C.; Feck, C.; Gaspoz, I. Aplicar el Modelo de Amenazas para incluir la Seguridad en el
Modelado de Sistemas. In Proceedings of the V Congreso Iberoamericano de Seguridad Informática—CIBSI, Bogota, Colombia,
22–24 January 2016; Volume 16.
6. Hernández Yeja, A.; Porven Rubier, J. Procedimiento para la seguridad del proceso de despliegue de aplicaciones web. Rev. Cuba.
Cienc. Inform. 2016, 10, 42–56.
7. Pecka, N.S. Making Secure Software Insecure without Changing Its Code: The Possibilities and Impacts of Attacks on the DevOps
Pipeline. Ph.D. Thesis, Iowa State University, Ames, IA, USA, 2022.
8. Konstantinidou, C.A.; Lang, W.; Papadopoulos, A.M.; Santamouris, M. Life cycle and life cycle cost implications of integrated
phase change materials in office buildings. Int. J. Energy Res. 2019, 43, 150–166. [CrossRef]
9. Symantec. Symantec. Internet Security Threat Report. Available online: https://www.symantec.com/security-center/
threatreport (accessed on 23 February 2023).
10. Diéguez, M.; Cares, C. Anticipation models (anti-models) for a proactive cyber defence. In Proceedings of the IX Congreso
Internacional de Computación y Telecomunicaciones, Lima, Peru, 11–13 October 2017; pp. 247–254.
11. ISO. ISO/IEC27001. Information Security Management. Available online: https://www.iso.org/standard/82875.html (accessed
on 23 February 2023).
12. ISO. NIST, Cybersecurity. Available online: http://www.iso.org/iso/catalogue_detail?csnumber=54533 (accessed on 20 February
2023).
13. ISACA. Control Objectives for Information and Related Technologies (Cobit). Available online: http://www.isaca.org/
KnowledgeCenter/cobit/Pages/Products.aspx (accessed on 21 February 2023).
Appl. Sci. 2023, 13, 4578 28 of 31
14. Ključnikov, A.; Mura, L.; Sklenár, D. Information security management in SMEs: Factors of success. Entrep. Sustain. Issues 2019,
6, 2081. [CrossRef]
15. Meridji, K.; Al-Sarayreh, K.T.; Abran, A.; Trudel, S. System security requirements: A framework for early identification,
specification and measurement of related software requirements. Comput. Stand. Interfaces 2019, 66, 103346. [CrossRef]
16. Ansari, M.T.J.; Pandey, D.; Alenezi, M. STORE: Security threat oriented requirements engineering methodology. J. King Saud
Univ.-Comput. Inf. Sci. 2022, 34, 191–203. [CrossRef]
17. Mishra, N.; Pandya, S. Internet of things applications, security challenges, attacks, intrusion detection, and future visions: A
systematic review. IEEE Access 2021, 9, 59353–59377. [CrossRef]
18. López-Rodríguez, S.A.; García-Peña, V.R. Metodologías de desarrollo de software seguro con propiedades agiles. Polo Conoc.
2021, 5, 1027–1046.
19. Filus, K.; Domańska, J. Software vulnerabilities in TensorFlow-based deep learning applications. Comput. Secur. 2023, 124, 102948.
[CrossRef]
20. Kumar, R.; Goyal, R. On cloud security requirements, threats, vulnerabilities and countermeasures: A survey. Comput. Sci. Rev.
2019, 33, 1–48. [CrossRef]
21. Von Solms, S.; Futcher, L.A. Adaption of a secure software development methodology for secure engineering design. IEEE Access
2020, 8, 125630–125637. [CrossRef]
22. García-Peñalvo, F. Proyecto Docente e Investigador. Catedrático de Universidad. Perfil Docente: Ingeniería del Software y Gobierno de
Tecnologías de la Información. Perfil Investigador: Tecnologías del Aprendizaje. Área de Ciencia de la Computación e Inteligencia Artificial;
Technical Report; Grupo GRIAL: Salamanca, Spain, 2018.
23. De Vicente Mohino, J.; Bermejo Higuera, J.; Bermejo Higuera, J.R.; Sicilia Montalvo, J.A. The application of a new secure software
development life cycle (S-SDLC) with agile methodologies. Electronics 2019, 8, 1218. [CrossRef]
24. Hudaib, A.; AlShraideh, M.; Surakhi, O.; Khanafseh, M. A survey on design methods for secure software development. Int. J.
Comput. Technol. 2017, 16, 7047–7064.
25. Ramirez, A.; Aiello, A.; Lincke, S.J. A survey and comparison of secure software development standards. In Proceedings of
the 2020 13th CMI Conference on Cybersecurity and Privacy (CMI)—Digital Transformation-Potentials and Challenges (51275),
Copenhagen, Denmark, 26–27 November 2020; pp. 1–6.
26. Rindell, K.; Hyrynsalmi, S.; Leppänen, V. Fitting security into agile software development. In Research Anthology on Recent Trends,
Tools, and Implications of Computer Programming; IGI Global: Hershey, PA, USA, 2021; pp. 1026–1045.
27. McGraw, G. Security Software Building Security in Seven Touchpoints for Software Security. 2023. Available online: http:
//www.swsec.com/resources/touchpoints/ (accessed on 22 February 2023).
28. Sinha, A.; Das, P. Agile methodology vs. traditional waterfall SDLC: A case study on quality assurance process in software
industry. In Proceedings of the 2021 5th International Conference on Electronics, Materials Engineering & Nano-Technology
(IEMENTech), Kolkata, India, 4–5 May 2021; pp. 1–4.
29. Futcher, L.; von Solms, R. SecSDM: A usable tool to support IT undergraduate students in secure software development. In
Proceedings of the HAISA, Crete, Greece, 6–8 June 2012; pp. 86–96.
30. Fowler, M.; Highsmith, J. The agile manifesto. Softw. Dev. 2001, 9, 28–35.
31. Croxford, M.; Chapman, R. Correctness by construction: A manifesto for high-integrity software. J. Def. Soft. Eng. 2005, 5–8.
32. Abundis, C.J.B. Metodologías para desarrollar software seguro. Recibe. Rev. Electron. Comput. Inform. Biomed. Electron. 2013, 3,
1–6.
33. Lindo, A.C. AC Modelos de Desarrollo Seguro del Software. 2023. Available online: https://web.fdi.ucm.es/posgrado/
conferencias/AndresCaroLindo-slides.pdf (accessed on 23 February 2023).
34. Núñez, J.C.S.; Lindo, A.C.; Rodríguez, P.G. A preventive secure software development model for a software factory: A case study.
IEEE Access 2020, 8, 77653–77665. [CrossRef]
35. Microsoft. SDL—Agile Requirements. 2023. Available online: https://learn.microsoft.com/en-us/previous-versions/windows/
desktop/ee790620(v=msdn.10)?redirectedfrom=MSDN (accessed on 27 February 2023).
36. BSIMM. BSIMM Frameworks. 2023. Available online: https://www.bsimm.com/ (accessed on 27 February 2023).
37. Chechik, M.; Salay, R.; Viger, T.; Kokaly, S.; Rahimi, M. Software assurance in an uncertain world. In Proceedings of the
Fundamental Approaches to Software Engineering: 22nd International Conference, FASE 2019, Held as Part of the European Joint
Conferences on Theory and Practice of Software, ETAPS 2019, Prague, Czech Republic, 6–11 April 2019; pp. 3–21.
38. Tawalbeh, L.; Muheidat, F.; Tawalbeh, M.; Quwaider, M. IoT Privacy and security: Challenges and solutions. Appl. Sci. 2020,
10, 4102. [CrossRef]
39. Beznosov, K.; Kruchten, P. Towards agile security assurance. In Proceedings of the 2004 Workshop on New Security Paradigms,
Virtual, 20–23 September 2004; pp. 47–54.
40. Tøndel, I.A.; Jaatun, M.G.; Cruzes, D.S.; Williams, L. Collaborative security risk estimation in agile software development. Inf.
Comput. Secur. 2019, 27, 508–535. [CrossRef]
41. Oueslati, H.; Rahman, M.M.; ben Othmane, L. Literature review of the challenges of developing secure software using the agile
approach. In Proceedings of the 2015 10th International Conference on Availability, Reliability and Security, Toulouse, France,
24–28 August 2015; pp. 540–547.
Appl. Sci. 2023, 13, 4578 29 of 31
42. Bhasin, S. Quality assurance in agile: A study towards achieving excellence. In Proceedings of the 2012 Agile India, Bengaluru,
India, 17–19 February 2012; pp. 64–67.
43. Newton, N.; Anslow, C.; Drechsler, A. Information security in agile software development projects: A critical success factor
perspective. In Proceedings of the 27th European Conference on Information Systems (ECIS), Uppsala, Sweden, 8–14 June 2019.
44. Rindell, K.; Ruohonen, J.; Holvitie, J.; Hyrynsalmi, S.; Leppänen, V. Security in agile software development: A practitioner survey.
Inf. Softw. Technol. 2021, 131, 106488. [CrossRef]
45. Kramer, J.D. Developmental test and requirements: Best practices of successful information systems using agile methods. Def.
AR J. 2019, 26, 128–150.
46. Villamizar, H.; Kalinowski, M.; Garcia, A.; Mendez, D. An efficient approach for reviewing security-related aspects in agile
requirements specifications of web applications. Requir. Eng. 2020, 25, 439–468. [CrossRef]
47. Sharma, A.; Bawa, R. Identification and integration of security activities for secure agile development. Int. J. Inf. Technol. 2020, 14,
1117–1130. [CrossRef]
48. Bodden, E. State of the systems security. In Proceedings of the 40th International Conference on Software Engineering: Companion
Proceeedings, New York, NY, USA, 27 May–3 June 2018; pp. 550–551.
49. Ancán Bastías, O.; Díaz, J.; López Fenner, J. Exploring the Intersection between Software Maintenance and Machine Learning—A
Systematic Mapping Study. Appl. Sci. 2023, 13, 1710. [CrossRef]
50. Astías, O.A.; Díaz, J.; Rodríguez, C.O. Evaluation of critical thinking in online software engineering teaching: A systematic
mapping study. IEEE Access 2021, 9, 167015–167026.
51. Alenezi, M.; Agrawal, A.; Kumar, R.; Khan, R.A. Evaluating performance of Web application security through a fuzzy based
hybrid multi-criteria decision-making approach: Design tactics perspective. IEEE Access 2020, 8, 25543–25556. [CrossRef]
52. Fernandez, E.B.; Astudillo, H.; Pedraza-García, G. Revisiting architectural tactics for security. In Proceedings of the Software
Architecture: 9th European Conference, ECSA 2015, Dubrovnik/Cavtat, Croatia, 7–11 September 2015; pp. 55–69.
53. Abeyrathna, A.; Samarage, C.; Dahanayake, B.; Wijesiriwardana, C.; Wimalaratne, P. A security specific knowledge modelling
approach for secure software engineering. J. Natl. Sci. Found. Sri Lanka 2020, 48, 93–98. [CrossRef]
54. Nguyen-Duc, A.; Do, M.V.; Hong, Q.L.; Khac, K.N.; Quang, A.N. On the adoption of static analysis for software security
assessment–A case study of an open-source e-government project. Comput. Secur. 2021, 111, 102470. [CrossRef]
55. Croft, R.; Xie, Y.; Zahedi, M.; Babar, M.A.; Treude, C. An empirical study of developers’ discussions about security challenges of
different programming languages. Empir. Softw. Eng. 2022, 27, 1–52. [CrossRef]
56. Antal, G.; Keleti, M.; Hegedŭs, P. Exploring the security awareness of the python and javascript open source communities. In
Proceedings of the 17th International Conference on Mining Software Repositories, Seoul, Republic of Korea, 29–30 June 2020; pp.
16–20.
57. Correa, R.; Bermejo Higuera, J.R.; Higuera, J.B.; Sicilia Montalvo, J.A.; Rubio, M.S.; Magreñán, Á.A. Hybrid Security Assessment
Methodology for Web Applications. Comput. Model. Eng. Sci. 2021, 126, 89–124.
58. Bernsmed, K.; Cruzes, D.S.; Jaatun, M.G.; Iovan, M. Adopting threat modelling in agile software development projects. J. Syst.
Softw. 2022, 183, 111090. [CrossRef]
59. Villamizar, H.; Kalinowski, M.; Viana, M.; Fernández, D.M. A systematic mapping study on security in agile requirements
engineering. In Proceedings of the 2018 44th Euromicro conference on software engineering and advanced applications (SEAA),
Prague, Czech Republic, 29–31 August 2018; pp. 454–461.
60. Weir, C.; Becker, I.; Noble, J.; Blair, L.; Sasse, M.A.; Rashid, A. Interventions for long-term software security: Creating a lightweight
program of assurance techniques for developers. Software: Pract. Exp. 2020, 50, 275–298. [CrossRef]
61. Butler, N. Security in Agile Software Development: A Simple Guide: Bigger Impact. 2022. Available online: https://www.boost.
co.nz/blog/2022/02/security-in-agile-software-development#who-the-guide-is-for (accessed on 27 February 2023).
62. Veracode. Agile Security. 2023. Available online: https://www.boost.co.nz/blog/2022/02/security-in-agile-software-
development#who-the-guide-is-for (accessed on 27 February 2023).
63. Security, L. 10 Agile Software Development Security Concerns You Need to Know. 2023. Available online: https://www.
legitsecurity.com/blog/10-agile-software-development-security-concerns-you-need-to-know (accessed on 27 February 2023).
64. OWASP. OWASP Top Ten. 2023. Available online: https://owasp.org/www-project-top-ten/ (accessed on 27 February 2023).
65. SANS. Web Application Security Awareness Training. 2023. Available online: https://www.sans.org/security-awareness-
training/products/specialized-training/developer/?msc=ssa-main-nav (accessed on 27 February 2023).
66. Moher, D.; Liberati, A.; Tetzlaff, J.; Altman, D.G.; PRISMA Group. Preferred reporting items for systematic reviews and
meta-analyses: The PRISMA statement. Ann. Intern. Med. 2009, 151, 264–269. [CrossRef]
67. Petersen, K.; Vakkalanka, S.; Kuzniarz, L. Guidelines for conducting systematic mapping studies in software engineering: An
update. Inf. Softw. Technol. 2015, 64, 1–18. [CrossRef]
68. Rindell, K.; Hyrynsalmi, S.; Leppänen, V. Aligning Security Objectives With Agile Software Development. In Proceedings of the
19th International Conference on Agile Software Development: Companion, Porto, Portugal, 21–25 May 2018; pp. 1–9. [CrossRef]
69. Khan, R.A.; Khan, S.U.; Alzahrani, M.; Ilyas, M. Security Assurance Model of Software Development for Global Software
Development Vendors. IEEE Access 2022, 10, 58458–58487. [CrossRef]
70. Althar, R.R.; Samanta, D.; Kaur, M.; Singh, D.; Lee, H.N. Automated Risk Management Based Software Security Vulnerabilities
Management. IEEE Access 2022, 10, 90597–90608. [CrossRef]
Appl. Sci. 2023, 13, 4578 30 of 31
71. Moyo, S.; Mnkandla, E. A novel lightweight solo software development methodology with optimum security practices. IEEE
Access 2020, 8, 33735–33747. [CrossRef]
72. Tashtoush, Y.M.; Darweesh, D.A.; Husari, G.; Darwish, O.A.; Darwish, Y.; Issa, L.B.; Ashqar, H.I. Agile Approaches for
Cybersecurity Systems, IoT and Intelligent Transportation. IEEE Access 2021, 10, 1360–1375. [CrossRef]
73. Malek, S.; Bagheri, H.; Garcia, J.; Sadeghi, A. Security and software engineering. In Handbook of Software Engineering; Springer:
Berlin/Heidelberg, Germany, 2019; pp. 445–489.
74. Yang, J.; Lodgher, A.; Lee, Y. Secure modules for undergraduate software engineering courses. In Proceedings of the 2018 IEEE
Frontiers in Education Conference (FIE), San Jose, CA, USA, 3–6 October 2018; pp. 1–5.
75. Ardo, A.A.; Bass, J.M.; Gaber, T. An empirical investigation of agile information systems development for cybersecurity. In
Proceedings of the European, Mediterranean, and Middle Eastern Conference on Information Systems, Dubai, United Arab
Emirates, 25–26 November 2021; pp. 567–581.
76. Cico, O.; Jaccheri, L.; Nguyen-Duc, A.; Zhang, H. Exploring the intersection between software industry and Software Engineering
education-A systematic mapping of Software Engineering Trends. J. Syst. Softw. 2021, 172, 110736. [CrossRef]
77. Mallouli, W.; Cavalli, A.R.; Bagnato, A.; De Oca, E.M. Metrics-driven DevSecOps. In Proceedings of the ICSOFT, Paris, France,
7–9 July 2020; pp. 228–233.
78. Siavvas, M.; Kehagias, D.; Tzovaras, D.; Gelenbe, E. A hierarchical model for quantifying software security based on static
analysis alerts and software metrics. Softw. Qual. J. 2021, 29, 431–507. [CrossRef]
79. Kraemer, H.C. Kappa coefficient. In Wiley StatsRef: Statistics Reference Online; Wiley: Hoboken, NJ, USA, 2014; pp. 1–4.
80. Elrhaffari, I.; Roudies, O. Capturing Software Security Practices using CBR: Three Case Studies. Int. J. Adv. Comput. Sci. Appl.
2019, 10. [CrossRef]
81. Williams, L.; McGraw, G.; Migues, S. Engineering Security Vulnerability Prevention, Detection, and Response. IEEE Softw. 2018,
35, 76–80. [CrossRef]
82. Luburiç, N.; Sladic, G.; Slivka, J.; Milosavljevic, B. A Framework for Teaching Security Design Analysis Using Case Studies and
the Hybrid Flipped Classroom. ACM Trans. Comput. Educ. 2019, 19, 1–19. [CrossRef]
83. Thai, M.; Sen, A.; Das, A. ACM SIGMETRICS International Workshop on Critical Infrastructure Network Security. ACM
SIGMETRICS Perform. Eval. Rev. 2019, 46, 48–49. [CrossRef]
84. Oveisi, S.; Farsi, M.; Moeini, A. Software Safety Design in requirement analysis phase for a control systems. In Proceedings of the
12th International Conference on Engineering & Technology, Athens, Greece, 28–30 August 2019.
85. Nguyen, J.; Dupuis, M. Closing the Feedback Loop Between UX Design, Software Development, Security Engineering, and
Operations. In Proceedings of the SIGITE ’19: Proceedings of the 20th Annual SIG Conference on Information Technology
Education, Tacoma, WA, USA, 3–5 October 2019. [CrossRef]
86. Aruna, E.; Rama Mohan Reddy, A.; Sunitha, K. Secure SDLC Using Security Patterns 2.0. In IOT with Smart Systems; Springer:
Berlin/Heidelberg, Germany, 2022; pp. 699–708.
87. Mahendra, N.; Muqeem, M. Validation of the SMBC Framework of Security Testing Using Analytic Hierarchy Process. ICIC
Express Lett. Part B Appl. Int. J. Res. Surv. 2021, 12, 383–393.
88. Mishra, A.D.; Mustafa, K. Security requirements specification: A formal method perspective. In Proceedings of the 2020 7th
International Conference on Computing for Sustainable Global Development (INDIACom), New Delhi, India, 12–14 March 2020;
pp. 113–117.
89. Abdellatif, L.; Chhiba, M.; Tabyaoui, A.; Mjihil, O. MDA Approach for Application Security Integration with Automatic Code
Generation from Communication Diagram. In Proceedings of the International Conference on Information Technology and
Communication Systems, Khouribga, Morocco, 28–29 March 2017; pp. 297–310.
90. Mufti, Y.; Niazi, M.; Alshayeb, M.; Mahmood, S. A readiness model for security requirements engineering. IEEE Access 2018,
6, 28611–28631. [CrossRef]
91. Kumar, R.; Baz, A.; Alhakami, H.; Alhakami, W.; Baz, M.; Agrawal, A.; Khan, R.A. A hybrid model of hesitant fuzzy decision-
making analysis for estimating usable-security of software. IEEE Access 2020, 8, 72694–72712. [CrossRef]
92. Abdymanapov, S.; Muratbekov, M.; Altynbek, S.; Barlybayev, A. Fuzzy Expert System of Information Security Risk Assessment
on the Example of Analysis Learning Management Systems. IEEE Access 2021, 9, 156556–156565. [CrossRef]
93. Ali, I.; Asif, M.; Shahbaz, M.; Khalid, A.; Rehman, M.; Guergachi, A. Text categorization approach for secure design pattern
selection using software requirement specification. IEEE Access 2018, 6, 73928–73939. [CrossRef]
94. Rafi, S.; Yu, W.; Akbar, M.A.; Alsanad, A.; Gumaei, A. Prioritization based taxonomy of DevOps security challenges using
PROMETHEE. IEEE Access 2020, 8, 105426–105446. [CrossRef]
95. Nowroozi, A.; Teymoori, P.; Ramezanifarkhani, T.; Besharati, M.R.; Izadi, M. A Crisis Situations Decision-Making Systems
Software Development Process With Rescue Experiences. IEEE Access 2020, 8, 59599–59617. [CrossRef]
96. Huang, G.; Li, Y.; Wang, Q.; Ren, J.; Cheng, Y.; Zhao, X. Automatic classification method for software vulnerability based on deep
neural network. IEEE Access 2019, 7, 28291–28298. [CrossRef]
97. Sönmez, F.Ö.; Kiliç, B.G. Reusable Security Requirements Repository Implementation Based on Application/System Components.
IEEE Access 2021, 9, 165966–165988. [CrossRef]
98. Alnabulsi, H.; Islam, R.; Talukder, M. GMSA: Gathering multiple signatures approach to defend against code injection attacks.
IEEE Access 2018, 6, 77829–77840. [CrossRef]
Appl. Sci. 2023, 13, 4578 31 of 31
99. Farooq, M.S.; Ahmed, M.; Emran, M. A Survey on Blockchain Acquainted Software Requirements Engineering: Model,
Opportunities, Challenges, and Future Directions. IEEE Access 2022, 10, 48193–48228. [CrossRef]
100. Wang, H.; Zhong, D.; Zhao, T.; Ren, F. Integrating model checking with SysML in complex system safety analysis. IEEE Access
2019, 7, 16561–16571. [CrossRef]
101. Fusheng, W.; Huanguo, Z.; Mingtao, N.; Jun, W.; Zhaoxu, J. A Novel Key Agreement Protocol Based on RET Gadget Chains for
Preventing Reused Code Attacks. IEEE Access 2018, 6, 70820–70830. [CrossRef]
102. Zhou, Z.; Zhi, Q.; Morisaki, S.; Yamamoto, S. An evaluation of quantitative non-functional requirements assurance using
ArchiMate. IEEE Access 2020, 8, 72395–72410. [CrossRef]
103. Díaz, J.; Pérez, J.E.; Lopez-Peña, M.A.; Mena, G.A.; Yagüe, A. Self-service cybersecurity monitoring as enabler for devsecops.
IEEE Access 2019, 7, 100283–100295. [CrossRef]
104. Hu, Y.; Zhang, Y.; Gu, D. Automatically patching vulnerabilities of binary programs via code transfer from correct versions. IEEE
Access 2019, 7, 28170–28184. [CrossRef]
105. Adhikari, T.M.; Wu, Y. Classifying software vulnerabilities by using the bugs framework. In Proceedings of the 2020 8th
International Symposium on Digital Forensics and Security (ISDFS), Beirut, Lebanon, 1–2 June 2020; pp. 1–6.
106. Venson, E.; Alfayez, R.; Gomes, M.M.; Figueiredo, R.M.; Boehm, B. The impact of software security practices on development
effort: An initial survey. In Proceedings of the 2019 ACM/IEEE International Symposium on Empirical Software Engineering
and Measurement (ESEM), Recife, Brazil, 19–20 September 2019; pp. 1–12.
107. Alenezi, M.; Khan, F.I. Context-Sensitive Case-Based Software Security Management System. In Intelligent Systems Applications in
Software Engineering; Silhavy, R., Silhavy, P., Prokopova, Z., Eds.; Springer International Publishing: Cham, Switzerland, 2019;
pp. 135–141.
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual
author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to
people or property resulting from any ideas, methods, instructions or products referred to in the content.