199,782 research outputs found
AGILE AND SECURE SOFTWARE DEVELOPMENT: AN UNFINISHED STORY
Given the widespread adoption of agile methods and the rising number of software vulnerabilities, we analyze the literature with an interest in the effect of security practices on software development agility. We propose a novel taxonomy to systematize the body of knowledge around secure agile development and then organize and summarize the selected research using the new taxonomy. At a high-level we create two categories, Phase Focused and Phase Independent. The Phase Focused category is then subdivided along the traditional SDLC phases. The Phase Independent category spans all phases of the SDLC or is phase independent. We conclude that, although there is a significant body of literature on the topic, the story is unfinished. There is further investigation needed to ensure agility as secure development practices are adopted and in regard to empirical evaluations of the proposed agile and secure software development integration approaches
Process Deployment: A Taxonomy of Critical Success Factors
Various methods, models and standards for software process improvement have been adopted by organizations to improve their software processes. However, despite these efforts they still encounter difficulties in their process deployment throughout the organization. This is because the vast majority of these efforts focus more on the technical aspects, bypassing the human aspects. There is a set of factors that influence the successful deployment of new or modified processes. This paper presents a taxonomy of critical success factors in software process deployment to achieve the processes institutionalization. The development of a taxonomy related to these critical success factors is based on a systematic review of existing literature on specialized databases and industrial experiences that have deployed or implemented processes
Extended Fault Taxonomy of SOA-Based Systems
Service Oriented Architecture (SOA) is considered as a standard for enterprise software development. The main characteristics of SOA are dynamic discovery and composition of software services in a heterogeneous environment. These properties pose newer challenges in fault management of SOA-based systems (SBS). A proper understanding of different faults in an SBS is very necessary for effective fault handling. A comprehensive three-fold fault taxonomy is presented here that covers distributed, SOA specific and non-functional faults in a holistic manner. A comprehensive fault taxonomy is a key starting point for providing techniques and methods for accessing the quality of a given system. In this paper, an attempt has been made to outline several SBSs faults into a well-structured taxonomy that may assist developers to plan suitable fault repairing strategies. Some commonly emphasized fault recovery strategies are also discussed. Some challenges that may occur during fault handling of SBSs are also mentioned
Towards a Taxonomy for Eliciting Design-Operation Continuum Requirements of Cyber-Physical Systems
Software systems that are embedded in autonomous Cyber-Physical Systems (CPSs) usually have a large life-cycle, both during its development and in maintenance. This software evolves during its life-cycle in order to incorporate new requirements, bug fixes, and to deal with hardware obsolescence. The current process for developing and maintaining this software is very fragmented, which makes developing new software versions and deploying them in the CPSs extremely expensive. In other domains, such as web engineering, the phases of development and operation are tightly connected, making it possible to easily perform software updates of the system, and to obtain operational
data that can be analyzed by engineers at development time. However, in spite of the rise of new communication technologies (e.g., 5G) providing an opportunity to acquire Design-Operation Continuum Engineering methods in the context of CPSs, there are still many complex issues that need to be addressed, such as the ones related with hardware-software co-design. Therefore, the process of Design-Operation Continuum Engineering for CPSs requires substantial changes with respect to the current fragmented software development process. In this paper, we build
a taxonomy for Design-Operation Continuum Engineering of CPSs based on case studies from two different industrial domains involving CPSs (elevation and railway). This taxonomy is later used to elicit requirements from these two case studies in order to present a blueprint on adopting Design-Operation Continuum Engineering in any organization developing CPSs
Taxonomy Based Testing and Validation of a new Defect Classification for Health Software
Defect-based testing is a powerful tool for finding errors in software. Many software manufacturers
avoid this method because it requires a detailed defect taxonomy that is expensive to
construct and difficult to validate. The Association for the Advancement of Medical Instrumentation
(AAMI) is developing SW911, a defect taxonomy to be published as a standard for
health software. This paper details three methods to validate SW91 for its comprehensiveness.
The initial validations of SW91 were conducted via mapping vulnerabilities from the Common
Weakness Enumeration and a dataset from a medical device software development company
in Ireland. Taxonomy based testing is another validation method proposed in this research
and its applicability was investigated using empirical data from a medical device software
development company in Ireland. Finally, the paper details future plans to implement
taxonomy based testing to improve software quality in medical device software and to
validate SW91. This validation will focus on the efficiency, reliability, ability to perform useful
analyses and defect coverage of SW91
Semantic component selection - SemaCS
In component based software development, project success or failure largely depends on correct software component evaluation. All available evaluation methods require time to analyse components. Due to the black box nature of components, preliminary judgments are made based on vendor descriptions. As there is no standard way of describing components, descriptions have to be interpreted using semantics and domain knowledge. This paper presents a semi-automated generic method for component identification and classification based on generic domain taxonomy and user generated semantic input. Every query is semantically tailored to what is being looked for, arriving at better results then it is currently possible using available automated categorisation systems
Software Development Analytics in Practice: A Systematic Literature Review
Context:Software Development Analytics is a research area concerned with
providing insights to improve product deliveries and processes. Many types of
studies, data sources and mining methods have been used for that purpose.
Objective:This systematic literature review aims at providing an aggregate view
of the relevant studies on Software Development Analytics in the past decade
(2010-2019), with an emphasis on its application in practical settings.
Method:Definition and execution of a search string upon several digital
libraries, followed by a quality assessment criteria to identify the most
relevant papers. On those, we extracted a set of characteristics (study type,
data source, study perspective, development life-cycle activities covered,
stakeholders, mining methods, and analytics scope) and classified their impact
against a taxonomy. Results:Source code repositories, experimental case
studies, and developers are the most common data sources, study types, and
stakeholders, respectively. Product and project managers are also often
present, but less than expected. Mining methods are evolving rapidly and that
is reflected in the long list identified. Descriptive statistics are the most
usual method followed by correlation analysis. Being software development an
important process in every organization, it was unexpected to find that process
mining was present in only one study. Most contributions to the software
development life cycle were given in the quality dimension. Time management and
costs control were lightly debated. The analysis of security aspects suggests
it is an increasing topic of concern for practitioners. Risk management
contributions are scarce. Conclusions:There is a wide improvement margin for
software development analytics in practice. For instance, mining and analyzing
the activities performed by software developers in their actual workbench, the
IDE
Secure Software Engineering Education: Knowledge Area, Curriculum and Resources
This paper reviews current efforts and resources in secure software engineering education, with the goal of providing guidance for educators to make use of these resources in developing secure software engineering curriculum. These resources include Common Body of Knowledge, reference curriculum, sample curriculum materials, hands-on exercises, and resources developed by industry and open source community. The relationship among the Common Body of Knowledge proposed by the Department of Homeland Security, the Software Engineering Institute at Carnegie Mellon University, and ACM/IEEE are discussed. The recent practices on secure software engineering education, including secure software engineering related programs, courses, and course modules are reviewed. The course modules are categorized into four categories to facilitate the adoption of these course modules. Available hands-on exercises developed for teaching software security are described and mapped to the taxonomy of coding errors. The rich resources including various secure software development processes, methods and tools developed by industry and open source community are surveyed. A road map is provided to organize these resources and guide educators in adopting these resources and integrating them into their courses
- …