This document analyzes airborne software review strategies and technologies. It identifies 82 technical focus points based on each stage of the airborne software development lifecycle as defined in DO-178C. It develops an objective-oriented sampling strategy for Stage 2-4 reviews that considers review frequency and depth. Finally, it creates a Technology Objective Coverage matrix to help reviewers efficiently conduct risk-based Stage of Involvement reviews while ensuring software safety from a certification perspective.
HYBRID PRACTICES IN GLOBAL SOFTWARE DEVELOPMENT: A SYSTEMATIC LITERATURE REVIEWijseajournal
Although agile methods in their purest way fit several companies, it has been a challenge to perform them in environments with distributed teams developing large software applications. Contractual items, for projects under development for external organizations, introduce additional complexities for pure agilebased approaches. The majority of global teams and companies use hybrid development practices that combine different development methods and frameworks. This research provides results from an empirical field study on how the hybrids practices are adopted in Global Software Development (GSD) projects. A systematic literature review was conducted to capture the status of combining agile with plan-driven in GSD projects. The results were limited to peer-reviewed conference papers or journal articles, published between 2001 and 2020. The present study selected 37 papers from five different bibliographic databases. In the end, 16 practices were summarized and described as hybrid by GSD projects. Based on the findings of this study, the authors can conclude that the contribution of this study is not only limited to identifying how hybrid development practices are applied in GSD but also allowing that practitioners can have a basis for adapting their development methods.
STRATEGIES TO REDUCE REWORK IN SOFTWARE DEVELOPMENT ON AN ORGANISATION IN MAU...ijseajournal
Rework is a known vicious circle in software development since it plays a central role in the generation of
delays, extra costs and diverse risks introduced after software delivery. It eventually triggers a negative
impact on the quality of the software developed. In order to cater the rework issue, this paper goes in depth
with the notion of rework in software development as it occurs in practice by analysing a development
process on an organisation in Mauritius where rework is a major issue. Meticulous strategies to reduce
rework are then analysed and discussed. The paper ultimately leads to the recommendation of the best
strategy that is software configuration management to reduce the rework problem in software development
A PROCESS QUALITY IMPROVEMENT MECHANISM FOR REDUCING THE RISK OF CI ENVIRONMENTijcsit
In the age of fast evolution, software development project must accept many challenges of unpredicted requirements change and new technology environment. Software development processes should have adjustable and extendable features to meet the multifaceted needs of the users. Iterative and Incremental Development (IID) is a practical approach to overcome the various challenges of software development.
However, continuous testing and building new versions need to spend more time and human resources that is a major obstacle of IID. The other, the iterative operations must have a sound communication skills. Lack of standard version control and intercommunication manner often lead to failure of software project. High quality Continuous Integration (CI) environment can effectively make up the defects of IID. In this paper, CI environment and advantages are deeply surveyed. In order to overcome the defects of IID, CI environment needs combine the perfect procedures and qualified tools, and concretely enhance the quality of CI environment. Based on the process quality measurement model, this paper proposes the Process
Quality Improvement Mechanism (PQIM). Applying PQIM, in software development, the processes problems and the CI environment quality defects can identify timely and indeed revise to reduce the risk of CI environment.
AN INVESTIGATION OF SOFTWARE REQUIREMENTS PRACTICES AMONG SOFTWARE PRACTITION...ijseajournal
This paper presents the result of software requirements practices survey among software practitioners, a study in a city of Jeddah, Saudi Arabia. As software requirements are important and they lead to the successful of a software development project, it becomes interesting to investigate the current software requirements practices in the kingdom of Saudi Arabia. As an initial work, a survey was conducted in
Jeddah as a study before we conduct it in the Kingdom of Saudi Arabia software industry. The survey is conducted by distributing a set of questionnaire to the software practitioners. There are 17 respondents completed the questionnaire out of 50 distributed questionnaire, which is 34% of response rate. The result of this survey is promising and it has shown that requirements management area should be focused for
future improvement. In the future, the survey will focus on software engineering and requirements engineering practices over the entire Kingdom of Saudi Arabia software industry.
STATE-OF-THE-ART IN EMPIRICAL VALIDATION OF SOFTWARE METRICS FOR FAULT PRONEN...IJCSES Journal
With the sharp rise in software dependability and failure cost, high quality has been in great demand.However, guaranteeing high quality in software systems which have grown in size and complexity coupled with the constraints imposed on their development has become increasingly difficult, time and resource consuming activity. Consequently, it becomes inevitable to deliver software that have no serious faults. In
this case, object-oriented (OO) products being the de facto standard of software development with their unique features could have some faults that are hard to find or pinpoint the impacts of changes. The earlier faults are identified, found and fixed, the lesser the costs and the higher the quality. To assess product quality, software metrics are used. Many OO metrics have been proposed and developed. Furthermore,
many empirical studies have validated metrics and class fault proneness (FP) relationship. The challenge is which metrics are related to class FP and what activities are performed. Therefore, this study bring together the state-of-the-art in fault prediction of FP that utilizes CK and size metrics. We conducted a systematic literature review over relevant published empirical validation articles. The results obtained are
analysed and presented. It indicates that 29 relevant empirical studies exist and measures such as complexity, coupling and size were found to be strongly related to FP.
An Agile Software Development FrameworkWaqas Tariq
Agility in software projects can be attained when software development methodologies attain to external factors and provide a framework internally for keeping software development projects focused. Developer practices are the most important factor that has to cope with the challenges. Agile development assumes a project context where the customer is actively collaborating with the development team. The greatest problem agile teams face is too little involvement from the customer. For a project to be agile, the developers have to cope with this lack of collaboration. Embracing changing requirements is not enough to make agile methods cope with business and technology changes. This paper provides a conceptual framework for tailoring agile methodologies to face different challenges. The framework is comprised of three factors, namely, developer practices, customer collaboration, and predicting change
International Journal of Business and Management Invention (IJBMI)inventionjournals
International Journal of Business and Management Invention (IJBMI) is an international journal intended for professionals and researchers in all fields of Business and Management. IJBMI publishes research articles and reviews within the whole field Business and Management, new teaching methods, assessment, validation and the impact of new technologies and it will continue to provide information on the latest trends and developments in this ever-expanding subject. The publications of papers are selected through double peer reviewed to ensure originality, relevance, and readability. The articles published in our journal can be accessed online
Flexibility a key factor to testability ijseajournal
Testability is an important software quality factor that is ineffective if it is not available at an early stage in
the development life-cycle. It becomes more essential in the case of object oriented design. Flexibility is an
important key factor to testability analysis and measurement for delivering high class testable and
maintainable software. Flexibility is a criterion of crucial significance to software developers, designers
and the quality controllers. It constantly guides and supports to avoid wastage of resources as well as
enable the designers for continuous improvement in the development process. Flexibility is concerned with
building high quality and reliable software within the constraints of cost and time. It greatly influences
cost, quality and reliability at software evolution process. Despite the fact flexibility is vital and highly
significant aspect for software development processes, it is poorly managed. This paper focuses the need
and importance of flexibility early at design phase. A model has been proposed for flexibility measurement
of object oriented design by establishing multiple linear regression. Finally the proposed model has been
validated using experimental tryout.
HYBRID PRACTICES IN GLOBAL SOFTWARE DEVELOPMENT: A SYSTEMATIC LITERATURE REVIEWijseajournal
Although agile methods in their purest way fit several companies, it has been a challenge to perform them in environments with distributed teams developing large software applications. Contractual items, for projects under development for external organizations, introduce additional complexities for pure agilebased approaches. The majority of global teams and companies use hybrid development practices that combine different development methods and frameworks. This research provides results from an empirical field study on how the hybrids practices are adopted in Global Software Development (GSD) projects. A systematic literature review was conducted to capture the status of combining agile with plan-driven in GSD projects. The results were limited to peer-reviewed conference papers or journal articles, published between 2001 and 2020. The present study selected 37 papers from five different bibliographic databases. In the end, 16 practices were summarized and described as hybrid by GSD projects. Based on the findings of this study, the authors can conclude that the contribution of this study is not only limited to identifying how hybrid development practices are applied in GSD but also allowing that practitioners can have a basis for adapting their development methods.
STRATEGIES TO REDUCE REWORK IN SOFTWARE DEVELOPMENT ON AN ORGANISATION IN MAU...ijseajournal
Rework is a known vicious circle in software development since it plays a central role in the generation of
delays, extra costs and diverse risks introduced after software delivery. It eventually triggers a negative
impact on the quality of the software developed. In order to cater the rework issue, this paper goes in depth
with the notion of rework in software development as it occurs in practice by analysing a development
process on an organisation in Mauritius where rework is a major issue. Meticulous strategies to reduce
rework are then analysed and discussed. The paper ultimately leads to the recommendation of the best
strategy that is software configuration management to reduce the rework problem in software development
A PROCESS QUALITY IMPROVEMENT MECHANISM FOR REDUCING THE RISK OF CI ENVIRONMENTijcsit
In the age of fast evolution, software development project must accept many challenges of unpredicted requirements change and new technology environment. Software development processes should have adjustable and extendable features to meet the multifaceted needs of the users. Iterative and Incremental Development (IID) is a practical approach to overcome the various challenges of software development.
However, continuous testing and building new versions need to spend more time and human resources that is a major obstacle of IID. The other, the iterative operations must have a sound communication skills. Lack of standard version control and intercommunication manner often lead to failure of software project. High quality Continuous Integration (CI) environment can effectively make up the defects of IID. In this paper, CI environment and advantages are deeply surveyed. In order to overcome the defects of IID, CI environment needs combine the perfect procedures and qualified tools, and concretely enhance the quality of CI environment. Based on the process quality measurement model, this paper proposes the Process
Quality Improvement Mechanism (PQIM). Applying PQIM, in software development, the processes problems and the CI environment quality defects can identify timely and indeed revise to reduce the risk of CI environment.
AN INVESTIGATION OF SOFTWARE REQUIREMENTS PRACTICES AMONG SOFTWARE PRACTITION...ijseajournal
This paper presents the result of software requirements practices survey among software practitioners, a study in a city of Jeddah, Saudi Arabia. As software requirements are important and they lead to the successful of a software development project, it becomes interesting to investigate the current software requirements practices in the kingdom of Saudi Arabia. As an initial work, a survey was conducted in
Jeddah as a study before we conduct it in the Kingdom of Saudi Arabia software industry. The survey is conducted by distributing a set of questionnaire to the software practitioners. There are 17 respondents completed the questionnaire out of 50 distributed questionnaire, which is 34% of response rate. The result of this survey is promising and it has shown that requirements management area should be focused for
future improvement. In the future, the survey will focus on software engineering and requirements engineering practices over the entire Kingdom of Saudi Arabia software industry.
STATE-OF-THE-ART IN EMPIRICAL VALIDATION OF SOFTWARE METRICS FOR FAULT PRONEN...IJCSES Journal
With the sharp rise in software dependability and failure cost, high quality has been in great demand.However, guaranteeing high quality in software systems which have grown in size and complexity coupled with the constraints imposed on their development has become increasingly difficult, time and resource consuming activity. Consequently, it becomes inevitable to deliver software that have no serious faults. In
this case, object-oriented (OO) products being the de facto standard of software development with their unique features could have some faults that are hard to find or pinpoint the impacts of changes. The earlier faults are identified, found and fixed, the lesser the costs and the higher the quality. To assess product quality, software metrics are used. Many OO metrics have been proposed and developed. Furthermore,
many empirical studies have validated metrics and class fault proneness (FP) relationship. The challenge is which metrics are related to class FP and what activities are performed. Therefore, this study bring together the state-of-the-art in fault prediction of FP that utilizes CK and size metrics. We conducted a systematic literature review over relevant published empirical validation articles. The results obtained are
analysed and presented. It indicates that 29 relevant empirical studies exist and measures such as complexity, coupling and size were found to be strongly related to FP.
An Agile Software Development FrameworkWaqas Tariq
Agility in software projects can be attained when software development methodologies attain to external factors and provide a framework internally for keeping software development projects focused. Developer practices are the most important factor that has to cope with the challenges. Agile development assumes a project context where the customer is actively collaborating with the development team. The greatest problem agile teams face is too little involvement from the customer. For a project to be agile, the developers have to cope with this lack of collaboration. Embracing changing requirements is not enough to make agile methods cope with business and technology changes. This paper provides a conceptual framework for tailoring agile methodologies to face different challenges. The framework is comprised of three factors, namely, developer practices, customer collaboration, and predicting change
International Journal of Business and Management Invention (IJBMI)inventionjournals
International Journal of Business and Management Invention (IJBMI) is an international journal intended for professionals and researchers in all fields of Business and Management. IJBMI publishes research articles and reviews within the whole field Business and Management, new teaching methods, assessment, validation and the impact of new technologies and it will continue to provide information on the latest trends and developments in this ever-expanding subject. The publications of papers are selected through double peer reviewed to ensure originality, relevance, and readability. The articles published in our journal can be accessed online
Flexibility a key factor to testability ijseajournal
Testability is an important software quality factor that is ineffective if it is not available at an early stage in
the development life-cycle. It becomes more essential in the case of object oriented design. Flexibility is an
important key factor to testability analysis and measurement for delivering high class testable and
maintainable software. Flexibility is a criterion of crucial significance to software developers, designers
and the quality controllers. It constantly guides and supports to avoid wastage of resources as well as
enable the designers for continuous improvement in the development process. Flexibility is concerned with
building high quality and reliable software within the constraints of cost and time. It greatly influences
cost, quality and reliability at software evolution process. Despite the fact flexibility is vital and highly
significant aspect for software development processes, it is poorly managed. This paper focuses the need
and importance of flexibility early at design phase. A model has been proposed for flexibility measurement
of object oriented design by establishing multiple linear regression. Finally the proposed model has been
validated using experimental tryout.
EVALUATION OF SOFTWARE DEGRADATION AND FORECASTING FUTURE DEVELOPMENT NEEDS I...ijseajournal
This article is an extended version of a previously published conference paper. In this research, JHotDraw (JHD), a well-tested and widely used open source Java-based graphics framework developed with the best software engineering practice was selected as a test suite. Six versions of this software were profiled, and data collected dynamically, from which four metrics namely (1) entropy (2) software maturity index, COCOMO effort and duration metrics were used to analyze software degradation, maturity level and use
the obtained results as input to time series analysis in order to predict effort and duration period that may
be needed for the development of future versions. The novel idea is that, historical evolution data is used to
project, predict and forecast resource requirements for future developments. The technique presented in
this paper will empower software development decision makers with a viable tool for planning and decision
making.
A PROPOSED HYBRID AGILE FRAMEWORK MODEL FOR MOBILE APPLICATIONS DEVELOPMENT ijseajournal
With the increasing in mobile application systems and a high competition between companies, that led to
increase in the number of mobile application projects.
Mobile software development is a group of process for creating software for mobile devices with limited
resources like small screen, low-power. The development of mobile applications is a big challenging
because of rapidly changing business requirements and technical constraints for mobile systems. So,
developers faced the challenge of a dynamic environment and the Changing of mobile application
requirements. Moreover, Mobile applications should adapt appropriate software development methods that
act in response efficiently to these challenges.
However, at the moment, there is limited knowledge about the suitability of different software practices for
the development of mobile applications. According to many researchers ,Agile methodologies was found to
be most suitable for mobile development projects as they are short time, require flexibility, reduces waste
and time to market.
Finally, in this research we are looking for a suitable process model that conforms to the requirement of
mobile application, we are going to investigate agile development methods to find a way, making the
development of mobile application easy and compatible with mobile device features.
IRJET- Factors in Selection of Construction Project Management Software i...IRJET Journal
The document discusses factors to consider when selecting construction project management software in India. It conducted interviews with 15 experts in the construction industry with experience ranging from 5-30 years. The interviews aimed to understand the software selection process. Based on the literature review and interviews, the document proposes a model for software selection with 8 steps: 1) identify software options, 2) review organization policies, 3) analyze the project's needs, 4) analyze the client's needs, 5) inquire the purpose of planning, 6) analyze software performance and price, 7) check available skills, and 8) select and use software. The model categorizes factors as either project specific or general to guide effective software selection.
DESQA a Software Quality Assurance FrameworkIJERA Editor
In current software development lifecycles of heterogeneous environments, the pitfalls businesses have to face are that software defect tracking, measurements and quality assurance do not start early enough in the development process. In fact the cost of fixing a defect in a production environment is much higher than in the initial phases of the Software Development Life Cycle (SDLC) which is particularly true for Service Oriented Architecture (SOA). Thus the aim of this study is to develop a new framework for defect tracking and detection and quality estimation for early stages particularly for the design stage of the SDLC. Part of the objectives of this work is to conceptualize, borrow and customize from known frameworks, such as object-oriented programming to build a solid framework using automated rule based intelligent mechanisms to detect and classify defects in software design of SOA. The implementation part demonstrated how the framework can predict the quality level of the designed software. The results showed a good level of quality estimation can be achieved based on the number of design attributes, the number of quality attributes and the number of SOA Design Defects. Assessment shows that metrics provide guidelines to indicate the progress that a software system has made and the quality of design. Using these guidelines, we can develop more usable and maintainable software systems to fulfill the demand of efficient systems for software applications. Another valuable result coming from this study is that developers are trying to keep backwards compatibility when they introduce new functionality. Sometimes, in the same newly-introduced elements developers perform necessary breaking changes in future versions. In that way they give time to their clients to adapt their systems. This is a very valuable practice for the developers because they have more time to assess the quality of their software before releasing it. Other improvements in this research include investigation of other design attributes and SOA Design Defects which can be computed in extending the tests we performed.
Using Fuzzy Clustering and Software Metrics to Predict Faults in large Indust...IOSR Journals
This document describes a study that uses fuzzy clustering and software metrics to predict faults in large industrial software systems. The study uses fuzzy c-means clustering to group software components into faulty and fault-free clusters based on various software metrics. The study applies this method to the open-source JEdit software project, calculating metrics for 274 classes and identifying faults using repository data. The results show 88.49% accuracy in predicting faulty classes, demonstrating that fuzzy clustering can be an effective technique for fault prediction in large software systems.
This paper presents findings from the evaluation study carried out to review the UAE national ID card software. The paper consults the relevant literature to explain many of the concepts and frameworks explained herein. The findings of the evaluation work that was primarily based on the ISO 9126 standard for system quality measurement highlighted many practical areas that if taken into account is argued to more likely increase the success chances of similar system implementation projects.
The modern business environment requires organizations to be flexible and open to change if they are to gain and retain their competitive age. Competitive business environment needs to modernize existing legacy system in to self-adaptive ones. Reengineering presents an approach to transfer a legacy system towards an evolvable system. Software reengineering is a leading system evolution technique which helps in effective cost control, quality improvements and time and risk reduction. However successful improvement of legacy system through reengineering requires portfolio analysis of legacy application around various quality and functional parameters some of which includes reliability and modularity of the functions, level of usability and maintainability as well as policy and standards of software architecture and availability of required documents. Portfolio analysis around these parameters will help to examine the legacy application on quality and functional gaps within the application [1].
IRJET- Factors Affecting the Delivery of Quality Software and their Relations...IRJET Journal
This document discusses factors that affect the delivery of quality software and their relationship to the software development process. It identifies key factors such as the amount of testing, costs involved, time spent, and following proper software development life cycle (SDLC) phases. The document presents a literature review on how these factors influence software quality. It then defines variables, hypotheses, and a regression model to analyze the relationship between delivery of quality software and the identified factors. The results of distributing and analyzing questionnaires indicate that amount of testing, costs involved, and time spent have a statistically significant correlation with delivering quality software. Therefore, paying attention to these factors during development can help improve software quality.
Contributors to Reduce Maintainability Cost at the Software Implementation PhaseWaqas Tariq
This document discusses factors that can reduce software maintenance costs during the implementation phase. It identifies that maintenance costs are highest during software development phases. The objective is to define criteria to assess software quality characteristics and assist during implementation. This will help reduce maintenance costs by creating criteria groups to support writing standard code, developing a model to apply criteria, and increasing understandability. Student groups will study code standardization, write programs, and test software maintenance on programs to validate the model and proposed criteria.
Software requirements prioritization is a
recognized practice in requirements engineering (RE)
that facilitates the management of stakeholders’
subjective views as specified in their requirements
listing. Since RE process is naturally collaborative in
nature, the intensiveness from both knowledge and
human perspectives opens up the problem of decision
making on requirements, which can be facilitated by
requirements prioritization. However, due to the large
volume of requirements elicited when considering an
ultra-large-scale system, existing prioritization
techniques proposed so far suffer some setbacks in
terms of efficiency, effectiveness and scalability. This
paper employed the use of a more efficient ranking
algorithm for requirements prioritization based on the
limitations of existing techniques. The major objective
is to provide a well-defined ranking procedure through
analysis, suitable for prioritizing software requirements.
An empirical evaluation of the proposed technique was
made using a typical scenario of the Pharmacy
Information System at the Obafemi Awolowo
University Teaching Hospital Complex (OAUTHC) as a
case study. The results showed the computation of the
positive ideal solution (PIS) and negative ideal solution
(NIS), as well as the closeness coefficient (CC) for 4
requirements across 3 stakeholders. The CC showed the
final ranks of requirements, where R4 with 2.09 point is
the most valued requirements, while R1 and R2 with
CC of 1.37 and 1.05 were next in the order of priority
respectively. The CC provides the medium through
which problems of multiple criteria decision making
can be handled, so as to determine the order of priority
of the available alternatives. The paper conveyed
encouraging evidence for the software engineering
community that is capable of resolving redundant
specified requirements, thereby providing the potential
that will facilitate effective and efficient decision
making in handling the differences amongst
requirements that have been prioritized. Thus,
prioritizing software requirements with the
recommended ranking procedure during software
development is crucial and vital in order to reduce
development cost.
EVALUATION AND STUDY OF SOFTWARE DEGRADATION IN THE EVOLUTION OF SIX VERSIONS...csandit
This document discusses evaluating software degradation through six versions of the open-source software JHotDraw. Data was collected dynamically from each version using AspectJ to derive two metrics: entropy and software maturity index. Entropy measures complexity and was expected to decrease as the software evolved from adding new features. The software maturity index was derived from documentation and aimed to find if entropy decreases most when maturity is highest, implying a relationship between the two. Six versions of JHotDraw released over five years were tested to investigate changes in these metrics and degradation as the software evolved through new versions.
A study of various viewpoints and aspects software quality perspectiveeSAT Journals
Abstract The software quality is very important research of software engineering grown from the last two decades. The software engineering paradigm adopted by many organizations to develop the high quality software at affordable cost. The high quality software is considered as one of the key factor in the rapid growth of Global Software Development. The software metrics computes and evaluates the quality characteristics and used to take quantitative and qualitative decisions for risk assessment and reduction. The multiple stakeholders can view the software quality in multiple angles with various aspects. In this paper we present multiple views of the software quality with respect to various quality aspects. Key Words : Stakeholders, Functional aspect, Structural aspect, Process aspect, Metrics etc.
This document discusses using Failure Mode and Effects Analysis (FMEA) to analyze causes of longer lead times in software processes at small and medium enterprises (SMEs). It first reviews the software development process for a web application project. It then describes the steps taken in an FMEA: 1) potential failure modes were identified, 2) impacts of each failure were assessed, 3) failures were ranked by severity, 4) likelihoods of occurrences for each failure were ranked, and 5) rankings were assigned to identify which failures were detected most frequently. This FMEA analysis identified specific failure modes contributing to longer lead times and their impacts, allowing SMEs to prioritize addressing high risk failures.
Agile techniques that utilize iterative development are broadly used in various industry projects as a lightweight development technique which can satisfy the continuous changes of requirements. Short repetitions are used that are required for efficient product delivery. Traditional and old software development methods are not much efficient and effective to control the rapid change in requirements. Despite the benefits of Agile, criticism on agile methodology states that it couldn’t succeed to pay attention to architectural and design issues and therefore is bound to produce small design-decisions. The past decade has observed numerous changes in systems development with many organizations accepting agile techniques as a viable methodology for developing systems. An increase in the number of research studies reveals the growing demand and acceptance of agile methodologies. While most research has focused on acceptance rate and adaptation of agile practices, there is very limited knowledge of their post-adoption usage and incorporation within organizations. Several factors explain the effective usage of agile methodologies. A combination of previous research in Agile Methodologies, Diffusion of Innovations, Information Systems implementation, and Systems Development has been carried out to develop a research model that identifies the main factors relevant to the propagation and effective usage of agile methodologies in organizations.
A User Story Quality Measurement Model for Reducing Agile Software Developmen...ijseajournal
The document discusses a user story quality measurement (USQM) model for reducing risks in agile software development. It proposes that user story quality is key to affecting development efficiency and handling requirements changes. The USQM model analyzes and collects critical user story quality factors, including clarity, complexity, modularity, configuration management, version control, and testability. By quantifying these factors, the USQM aims to identify quality defects and enhance user stories, thereby reducing development risks from requirements changes.
An Empirical Study of SQA Function Effectiveness in CMMI Certified Companies ...zillesubhan
The most vital component for any software development process is, “quality”, as it ensures the reliability and effectiveness of new software. Software Quality Assurance (SQA) techniques as well as a standardized qualitative metric known as Capability Maturity Model Integration (CMMI) are used to ensure this quality. The purposes of both the practices are same as both make efforts for end product’s quality. In spite of this, CMMI certified organizations have SQA function, but face a lot of issues, which resulted in lowering the quality of the products. Standards usually provide documentation, but SQA consider testing as a chief element and also documentation only for authentication and appraisals. The relationship of the SQA function with CMMI has not attended much in common literatures. This paper is centered on investigation conducted through data collection from diverse CMMI certified software development firm to check the practice of SQA function.
A methodology to evaluate object oriented software systems using change requi...ijseajournal
It is a well known fact that software maintenance plays a major role and finds importance in software
development life cycle. As object
-
oriented programming has become the standard, it is very important to
understand th
e problems of maintaining object
-
oriented software systems. This paper aims at evaluating
object
-
oriented software system through change requirement traceability
–
based impact analysis
methodology
for non functional requirements using functional requirem
ents
. The major issues have been
related to change impact algorithms and inheritance of functionality.
ANALYSIS OF SOFTWARE QUALITY USING SOFTWARE METRICSijcsa
Software metrics have a direct link with measurement in software engineering. Correct measurement is the prior condition in any engineering fields, and software engineering is not an exception, as the size and complexity of software increases, manual inspection of software becomes a harder task. Most Software Engineers worry about the quality of software, how to measure and enhance its quality. The overall objective of this study was to asses and analysis’s software metrics used to measure the software product and process.
In this Study, the researcher used a collection of literatures from various electronic databases, available since 2008 to understand and know the software metrics. Finally, in this study, the researcher has been identified software quality is a means of measuring how software is designed and how well the software conforms to that design. Some of the variables that we are looking for software quality are Correctness, Product quality, Scalability, Completeness and Absence of bugs, However the quality standard that was used from one organization is different from others for this reason it is better to apply the software metrics to measure the quality of software and the current most common software metrics tools to reduce the subjectivity of faults during the assessment of software quality. The central contribution of this study is an overview about software metrics that can illustrate us the development in this area, and a critical analysis about the main metrics founded on the various literatures.
AN ANALYSIS OF SOFTWARE REQUIREMENTS SPECIFICATION CHARACTERISTICS IN REGULAT...ijseajournal
Requirements Engineering is the set of activities involved in creation, managing, documenting, and maintaining a requirements’ set for a product. Engineering involves the use of systematic repeatability techniques to ensure that the Software Requirements are complete, consistent, valid, and verifiable. Software Requirements Specification is an organized process oriented toward defining, documenting and maintaining requirements throughout the development life cycle. Many authors suggest that requirements should always focus their claims on what the software product needs to address, without specifying how to implement them. However, the detail of Software Requirements is influenced by several factors such as: organizational thinking; existing specification standards; and regulatory needs. This work fits exactly with regulatory needs, where the characteristics of Software Requirements Specification in Regulated Environments such as aeronautics, railways and medical are presented and explored. This paper presents and analysis of software requirements specification characteristics in regulated environments. The four characteristics identified are: consistency (internal and external), unambiguity, verifiability, and traceability. The paper also describes the three standards used in these regulated environments (RTCA DO-178C, IEC 62279 and IEC 62304) and examines their similarities and differences from a Requirements Specification standpoint. The similarities and differences will be used to address a future requirements framework universal process that can be configured to address each standard by the usage of Software Process Lines.
This study empirically evaluated the use of mutation testing to improve test quality for safety-critical software. Mutation testing was applied to two airborne software systems developed using rigorous development processes and guidelines. The study identified an effective subset of mutant types, categorized the root causes of test failures, and examined relationships between program characteristics and mutation survival. The results showed how mutation testing could be useful for finding issues missed by traditional structural coverage analysis and manual peer review. Industry feedback also provided perspectives on integrating mutation testing into typical verification lifecycles for airborne software.
This document discusses software reliability engineering and proposes future directions for improving reliability prediction and assessment. It begins with an introduction to software reliability and complexity. It then discusses challenges with current reliability modeling approaches and issues with metrics/measurements. Testing effectiveness and code coverage are also examined. The document proposes methodologies for improving reliability assessment, including focusing on software architectures/components, linking testing and reliability metrics, and collecting industrial data. Overall, it argues that current techniques could be enhanced by incorporating additional factors like code coverage and collecting failure data earlier. Improved reliability prediction would benefit both industry and research.
This document discusses challenges in software reliability and proposes approaches to improve reliability predictions and measurements. It addresses issues like:
1. The difficulty of modeling software reliability due to the complexity and interdependence of software failures, unlike independent hardware failures.
2. Challenges with software reliability growth models (SRGMs) due to unrealistic assumptions and lack of operational profile data.
3. The need for consistent, unified definitions of software metrics and measurements to better assess reliability.
4. Questions around how well testing effectiveness metrics like code coverage actually correlate with detecting defects and reliability. The relationship between code coverage and reliability is not clearly causal.
Improving software reliability predictions requires addressing these issues by developing more realistic
EVALUATION OF SOFTWARE DEGRADATION AND FORECASTING FUTURE DEVELOPMENT NEEDS I...ijseajournal
This article is an extended version of a previously published conference paper. In this research, JHotDraw (JHD), a well-tested and widely used open source Java-based graphics framework developed with the best software engineering practice was selected as a test suite. Six versions of this software were profiled, and data collected dynamically, from which four metrics namely (1) entropy (2) software maturity index, COCOMO effort and duration metrics were used to analyze software degradation, maturity level and use
the obtained results as input to time series analysis in order to predict effort and duration period that may
be needed for the development of future versions. The novel idea is that, historical evolution data is used to
project, predict and forecast resource requirements for future developments. The technique presented in
this paper will empower software development decision makers with a viable tool for planning and decision
making.
A PROPOSED HYBRID AGILE FRAMEWORK MODEL FOR MOBILE APPLICATIONS DEVELOPMENT ijseajournal
With the increasing in mobile application systems and a high competition between companies, that led to
increase in the number of mobile application projects.
Mobile software development is a group of process for creating software for mobile devices with limited
resources like small screen, low-power. The development of mobile applications is a big challenging
because of rapidly changing business requirements and technical constraints for mobile systems. So,
developers faced the challenge of a dynamic environment and the Changing of mobile application
requirements. Moreover, Mobile applications should adapt appropriate software development methods that
act in response efficiently to these challenges.
However, at the moment, there is limited knowledge about the suitability of different software practices for
the development of mobile applications. According to many researchers ,Agile methodologies was found to
be most suitable for mobile development projects as they are short time, require flexibility, reduces waste
and time to market.
Finally, in this research we are looking for a suitable process model that conforms to the requirement of
mobile application, we are going to investigate agile development methods to find a way, making the
development of mobile application easy and compatible with mobile device features.
IRJET- Factors in Selection of Construction Project Management Software i...IRJET Journal
The document discusses factors to consider when selecting construction project management software in India. It conducted interviews with 15 experts in the construction industry with experience ranging from 5-30 years. The interviews aimed to understand the software selection process. Based on the literature review and interviews, the document proposes a model for software selection with 8 steps: 1) identify software options, 2) review organization policies, 3) analyze the project's needs, 4) analyze the client's needs, 5) inquire the purpose of planning, 6) analyze software performance and price, 7) check available skills, and 8) select and use software. The model categorizes factors as either project specific or general to guide effective software selection.
DESQA a Software Quality Assurance FrameworkIJERA Editor
In current software development lifecycles of heterogeneous environments, the pitfalls businesses have to face are that software defect tracking, measurements and quality assurance do not start early enough in the development process. In fact the cost of fixing a defect in a production environment is much higher than in the initial phases of the Software Development Life Cycle (SDLC) which is particularly true for Service Oriented Architecture (SOA). Thus the aim of this study is to develop a new framework for defect tracking and detection and quality estimation for early stages particularly for the design stage of the SDLC. Part of the objectives of this work is to conceptualize, borrow and customize from known frameworks, such as object-oriented programming to build a solid framework using automated rule based intelligent mechanisms to detect and classify defects in software design of SOA. The implementation part demonstrated how the framework can predict the quality level of the designed software. The results showed a good level of quality estimation can be achieved based on the number of design attributes, the number of quality attributes and the number of SOA Design Defects. Assessment shows that metrics provide guidelines to indicate the progress that a software system has made and the quality of design. Using these guidelines, we can develop more usable and maintainable software systems to fulfill the demand of efficient systems for software applications. Another valuable result coming from this study is that developers are trying to keep backwards compatibility when they introduce new functionality. Sometimes, in the same newly-introduced elements developers perform necessary breaking changes in future versions. In that way they give time to their clients to adapt their systems. This is a very valuable practice for the developers because they have more time to assess the quality of their software before releasing it. Other improvements in this research include investigation of other design attributes and SOA Design Defects which can be computed in extending the tests we performed.
Using Fuzzy Clustering and Software Metrics to Predict Faults in large Indust...IOSR Journals
This document describes a study that uses fuzzy clustering and software metrics to predict faults in large industrial software systems. The study uses fuzzy c-means clustering to group software components into faulty and fault-free clusters based on various software metrics. The study applies this method to the open-source JEdit software project, calculating metrics for 274 classes and identifying faults using repository data. The results show 88.49% accuracy in predicting faulty classes, demonstrating that fuzzy clustering can be an effective technique for fault prediction in large software systems.
This paper presents findings from the evaluation study carried out to review the UAE national ID card software. The paper consults the relevant literature to explain many of the concepts and frameworks explained herein. The findings of the evaluation work that was primarily based on the ISO 9126 standard for system quality measurement highlighted many practical areas that if taken into account is argued to more likely increase the success chances of similar system implementation projects.
The modern business environment requires organizations to be flexible and open to change if they are to gain and retain their competitive age. Competitive business environment needs to modernize existing legacy system in to self-adaptive ones. Reengineering presents an approach to transfer a legacy system towards an evolvable system. Software reengineering is a leading system evolution technique which helps in effective cost control, quality improvements and time and risk reduction. However successful improvement of legacy system through reengineering requires portfolio analysis of legacy application around various quality and functional parameters some of which includes reliability and modularity of the functions, level of usability and maintainability as well as policy and standards of software architecture and availability of required documents. Portfolio analysis around these parameters will help to examine the legacy application on quality and functional gaps within the application [1].
IRJET- Factors Affecting the Delivery of Quality Software and their Relations...IRJET Journal
This document discusses factors that affect the delivery of quality software and their relationship to the software development process. It identifies key factors such as the amount of testing, costs involved, time spent, and following proper software development life cycle (SDLC) phases. The document presents a literature review on how these factors influence software quality. It then defines variables, hypotheses, and a regression model to analyze the relationship between delivery of quality software and the identified factors. The results of distributing and analyzing questionnaires indicate that amount of testing, costs involved, and time spent have a statistically significant correlation with delivering quality software. Therefore, paying attention to these factors during development can help improve software quality.
Contributors to Reduce Maintainability Cost at the Software Implementation PhaseWaqas Tariq
This document discusses factors that can reduce software maintenance costs during the implementation phase. It identifies that maintenance costs are highest during software development phases. The objective is to define criteria to assess software quality characteristics and assist during implementation. This will help reduce maintenance costs by creating criteria groups to support writing standard code, developing a model to apply criteria, and increasing understandability. Student groups will study code standardization, write programs, and test software maintenance on programs to validate the model and proposed criteria.
Software requirements prioritization is a
recognized practice in requirements engineering (RE)
that facilitates the management of stakeholders’
subjective views as specified in their requirements
listing. Since RE process is naturally collaborative in
nature, the intensiveness from both knowledge and
human perspectives opens up the problem of decision
making on requirements, which can be facilitated by
requirements prioritization. However, due to the large
volume of requirements elicited when considering an
ultra-large-scale system, existing prioritization
techniques proposed so far suffer some setbacks in
terms of efficiency, effectiveness and scalability. This
paper employed the use of a more efficient ranking
algorithm for requirements prioritization based on the
limitations of existing techniques. The major objective
is to provide a well-defined ranking procedure through
analysis, suitable for prioritizing software requirements.
An empirical evaluation of the proposed technique was
made using a typical scenario of the Pharmacy
Information System at the Obafemi Awolowo
University Teaching Hospital Complex (OAUTHC) as a
case study. The results showed the computation of the
positive ideal solution (PIS) and negative ideal solution
(NIS), as well as the closeness coefficient (CC) for 4
requirements across 3 stakeholders. The CC showed the
final ranks of requirements, where R4 with 2.09 point is
the most valued requirements, while R1 and R2 with
CC of 1.37 and 1.05 were next in the order of priority
respectively. The CC provides the medium through
which problems of multiple criteria decision making
can be handled, so as to determine the order of priority
of the available alternatives. The paper conveyed
encouraging evidence for the software engineering
community that is capable of resolving redundant
specified requirements, thereby providing the potential
that will facilitate effective and efficient decision
making in handling the differences amongst
requirements that have been prioritized. Thus,
prioritizing software requirements with the
recommended ranking procedure during software
development is crucial and vital in order to reduce
development cost.
EVALUATION AND STUDY OF SOFTWARE DEGRADATION IN THE EVOLUTION OF SIX VERSIONS...csandit
This document discusses evaluating software degradation through six versions of the open-source software JHotDraw. Data was collected dynamically from each version using AspectJ to derive two metrics: entropy and software maturity index. Entropy measures complexity and was expected to decrease as the software evolved from adding new features. The software maturity index was derived from documentation and aimed to find if entropy decreases most when maturity is highest, implying a relationship between the two. Six versions of JHotDraw released over five years were tested to investigate changes in these metrics and degradation as the software evolved through new versions.
A study of various viewpoints and aspects software quality perspectiveeSAT Journals
Abstract The software quality is very important research of software engineering grown from the last two decades. The software engineering paradigm adopted by many organizations to develop the high quality software at affordable cost. The high quality software is considered as one of the key factor in the rapid growth of Global Software Development. The software metrics computes and evaluates the quality characteristics and used to take quantitative and qualitative decisions for risk assessment and reduction. The multiple stakeholders can view the software quality in multiple angles with various aspects. In this paper we present multiple views of the software quality with respect to various quality aspects. Key Words : Stakeholders, Functional aspect, Structural aspect, Process aspect, Metrics etc.
This document discusses using Failure Mode and Effects Analysis (FMEA) to analyze causes of longer lead times in software processes at small and medium enterprises (SMEs). It first reviews the software development process for a web application project. It then describes the steps taken in an FMEA: 1) potential failure modes were identified, 2) impacts of each failure were assessed, 3) failures were ranked by severity, 4) likelihoods of occurrences for each failure were ranked, and 5) rankings were assigned to identify which failures were detected most frequently. This FMEA analysis identified specific failure modes contributing to longer lead times and their impacts, allowing SMEs to prioritize addressing high risk failures.
Agile techniques that utilize iterative development are broadly used in various industry projects as a lightweight development technique which can satisfy the continuous changes of requirements. Short repetitions are used that are required for efficient product delivery. Traditional and old software development methods are not much efficient and effective to control the rapid change in requirements. Despite the benefits of Agile, criticism on agile methodology states that it couldn’t succeed to pay attention to architectural and design issues and therefore is bound to produce small design-decisions. The past decade has observed numerous changes in systems development with many organizations accepting agile techniques as a viable methodology for developing systems. An increase in the number of research studies reveals the growing demand and acceptance of agile methodologies. While most research has focused on acceptance rate and adaptation of agile practices, there is very limited knowledge of their post-adoption usage and incorporation within organizations. Several factors explain the effective usage of agile methodologies. A combination of previous research in Agile Methodologies, Diffusion of Innovations, Information Systems implementation, and Systems Development has been carried out to develop a research model that identifies the main factors relevant to the propagation and effective usage of agile methodologies in organizations.
A User Story Quality Measurement Model for Reducing Agile Software Developmen...ijseajournal
The document discusses a user story quality measurement (USQM) model for reducing risks in agile software development. It proposes that user story quality is key to affecting development efficiency and handling requirements changes. The USQM model analyzes and collects critical user story quality factors, including clarity, complexity, modularity, configuration management, version control, and testability. By quantifying these factors, the USQM aims to identify quality defects and enhance user stories, thereby reducing development risks from requirements changes.
An Empirical Study of SQA Function Effectiveness in CMMI Certified Companies ...zillesubhan
The most vital component for any software development process is, “quality”, as it ensures the reliability and effectiveness of new software. Software Quality Assurance (SQA) techniques as well as a standardized qualitative metric known as Capability Maturity Model Integration (CMMI) are used to ensure this quality. The purposes of both the practices are same as both make efforts for end product’s quality. In spite of this, CMMI certified organizations have SQA function, but face a lot of issues, which resulted in lowering the quality of the products. Standards usually provide documentation, but SQA consider testing as a chief element and also documentation only for authentication and appraisals. The relationship of the SQA function with CMMI has not attended much in common literatures. This paper is centered on investigation conducted through data collection from diverse CMMI certified software development firm to check the practice of SQA function.
A methodology to evaluate object oriented software systems using change requi...ijseajournal
It is a well known fact that software maintenance plays a major role and finds importance in software
development life cycle. As object
-
oriented programming has become the standard, it is very important to
understand th
e problems of maintaining object
-
oriented software systems. This paper aims at evaluating
object
-
oriented software system through change requirement traceability
–
based impact analysis
methodology
for non functional requirements using functional requirem
ents
. The major issues have been
related to change impact algorithms and inheritance of functionality.
ANALYSIS OF SOFTWARE QUALITY USING SOFTWARE METRICSijcsa
Software metrics have a direct link with measurement in software engineering. Correct measurement is the prior condition in any engineering fields, and software engineering is not an exception, as the size and complexity of software increases, manual inspection of software becomes a harder task. Most Software Engineers worry about the quality of software, how to measure and enhance its quality. The overall objective of this study was to asses and analysis’s software metrics used to measure the software product and process.
In this Study, the researcher used a collection of literatures from various electronic databases, available since 2008 to understand and know the software metrics. Finally, in this study, the researcher has been identified software quality is a means of measuring how software is designed and how well the software conforms to that design. Some of the variables that we are looking for software quality are Correctness, Product quality, Scalability, Completeness and Absence of bugs, However the quality standard that was used from one organization is different from others for this reason it is better to apply the software metrics to measure the quality of software and the current most common software metrics tools to reduce the subjectivity of faults during the assessment of software quality. The central contribution of this study is an overview about software metrics that can illustrate us the development in this area, and a critical analysis about the main metrics founded on the various literatures.
AN ANALYSIS OF SOFTWARE REQUIREMENTS SPECIFICATION CHARACTERISTICS IN REGULAT...ijseajournal
Requirements Engineering is the set of activities involved in creation, managing, documenting, and maintaining a requirements’ set for a product. Engineering involves the use of systematic repeatability techniques to ensure that the Software Requirements are complete, consistent, valid, and verifiable. Software Requirements Specification is an organized process oriented toward defining, documenting and maintaining requirements throughout the development life cycle. Many authors suggest that requirements should always focus their claims on what the software product needs to address, without specifying how to implement them. However, the detail of Software Requirements is influenced by several factors such as: organizational thinking; existing specification standards; and regulatory needs. This work fits exactly with regulatory needs, where the characteristics of Software Requirements Specification in Regulated Environments such as aeronautics, railways and medical are presented and explored. This paper presents and analysis of software requirements specification characteristics in regulated environments. The four characteristics identified are: consistency (internal and external), unambiguity, verifiability, and traceability. The paper also describes the three standards used in these regulated environments (RTCA DO-178C, IEC 62279 and IEC 62304) and examines their similarities and differences from a Requirements Specification standpoint. The similarities and differences will be used to address a future requirements framework universal process that can be configured to address each standard by the usage of Software Process Lines.
This study empirically evaluated the use of mutation testing to improve test quality for safety-critical software. Mutation testing was applied to two airborne software systems developed using rigorous development processes and guidelines. The study identified an effective subset of mutant types, categorized the root causes of test failures, and examined relationships between program characteristics and mutation survival. The results showed how mutation testing could be useful for finding issues missed by traditional structural coverage analysis and manual peer review. Industry feedback also provided perspectives on integrating mutation testing into typical verification lifecycles for airborne software.
This document discusses software reliability engineering and proposes future directions for improving reliability prediction and assessment. It begins with an introduction to software reliability and complexity. It then discusses challenges with current reliability modeling approaches and issues with metrics/measurements. Testing effectiveness and code coverage are also examined. The document proposes methodologies for improving reliability assessment, including focusing on software architectures/components, linking testing and reliability metrics, and collecting industrial data. Overall, it argues that current techniques could be enhanced by incorporating additional factors like code coverage and collecting failure data earlier. Improved reliability prediction would benefit both industry and research.
This document discusses challenges in software reliability and proposes approaches to improve reliability predictions and measurements. It addresses issues like:
1. The difficulty of modeling software reliability due to the complexity and interdependence of software failures, unlike independent hardware failures.
2. Challenges with software reliability growth models (SRGMs) due to unrealistic assumptions and lack of operational profile data.
3. The need for consistent, unified definitions of software metrics and measurements to better assess reliability.
4. Questions around how well testing effectiveness metrics like code coverage actually correlate with detecting defects and reliability. The relationship between code coverage and reliability is not clearly causal.
Improving software reliability predictions requires addressing these issues by developing more realistic
The document discusses the Federal Aviation Administration's use of human factors analysis in air traffic management systems. It addresses how human factors research focuses on human performance, safety analysis, and system optimization. The FAA integrates human factors throughout the system development life cycle from research and requirements definition to post-implementation monitoring to improve safety and performance. Challenges include fully integrating human factors programs, but the FAA addresses this through standards, education, and communication across lines of business.
This summarizes a research paper about standardizing source code security audits. The paper proposes assembling literature on security audit techniques to promote standard methodology. It then presents a case study analyzing vulnerabilities in the Apache Traffic Server using two proprietary tools. The study examines potential issues, connects them to a standard taxonomy (CWE), and describes consequences of exploits. The paper concludes by reviewing other security case studies.
This software provides a summarized view of a study participant's entire medical record by manually collapsing all data into a summarized form. It enables structured coding using SNOMED CT terminology and captures medical event context. The software reduces data redundancy and allows efficient capture of entire medical events.
Software Reliability and Quality Assurance Challenges in Cyber Physical Syste...CSCJournals
Software Reliability is the probability of failure-free software operation for a specified period of time in a specified environment. Cyber threats on software security have been prevailing and have increased exponentially, posing a major challenge on software reliability in the cyber physical systems (CPS) environment. Applying patches after the software has been developed is outdated and a major security flaw. However, this has posed a major software reliability challenge as threat actors are exploiting unpatched and insecure software configuration vulnerabilities that are not identified at the design phase. This paper aims to investigate the SDLC approach to software reliability and quality assurance challenges in CPS security. To demonstrate the applicability of our work, we review existing security requirements engineering concepts and methodologies such as TROPOS, I*, KAOS, Tropos and Secure Tropos to determine their relevance in software security. We consider how the methodologies and function points are used to implement constraints to improve software reliability. Finally, the function points concepts are implemented into the CPS security components. The results show that software security threats in CPS can be addressed by integrating the SRE approach and function point analysis in the development to improve software reliability.
ITERATIVE AND INCREMENTAL DEVELOPMENT ANALYSIS STUDY OF VOCATIONAL CAREER INF...ijseajournal
Software development process presents various types of models with their corresponding phases required to be accordingly followed in delivery of quality products and projects. Despite the various expertise and skills of systems analysts, designers, and programmers, systems failure is inevitable when a suitable development process model is not followed. This paper focuses on the Iterative and Incremental Development (IID)model and justified its role in the analysis and design software systems. The paper adopted the qualitative research approach that justified and harnessed the relevance of IID in the context of systems analysis and design using the Vocational
Career Information System (VCIS) as a case study. The paper viewed the IID as a change-driven software development process model. The results showed some system specification, functional specification of system and design specifications that can be used in implementing the VCIS using the IID model. Thus, the paper concluded that in systems analysis and design, it is imperative to consider a suitable development process that reflects the engineering mind-set, with heavy emphasis on good analysis and design for quality assurance.
Case-Based Reasoning for the Evaluation of Safety Critical Software. Applicat...IJERDJOURNAL
ABSTRACT: The purpose of the work described in this paper is to improve the assessment of the safety analyses for railway transport systems in France. The modes of reasoning which are used in the context of safety analysis and the very nature of knowledge about safety mean that a conventional computing solution is unsuitable and the utilization of artificial intelligence techniques would seem to be more appropriate. The approach which was adopted in order to design and implement an assistance tool for safety analysis involved the following two main activities: – Extracting, formalizing and storing hazardous situations to produce a library of standard cases which covers the entire problem. This process entailed the use of knowledge acquisition techniques; – Exploiting the stored historical knowledge in order to develop safety analysis know-how which can assist experts to judge the thoroughness of the manufacturer’s suggested safety analysis. This second activity involves the use of machine learning techniques in particular the use of Case-Based Reasoning. This paper presents a mock-up of a tool for storing and assessing Software Error Effect Analysis (SEEA) for the safety of automatic devices of terrestrial guided transport system. The purpose of our work is to exploit historical SEEA, which have already been carried out on approved safety-critical software, in order to assess SEEA of new software.
SECURING SOFTWARE DEVELOPMENT STAGES USING ASPECT-ORIENTATION CONCEPTSijseajournal
The document summarizes research on securing software development stages using aspect-orientation concepts. It proposes a model called the Aspect-Oriented Software Security Development Life Cycle (AOSSDLC) which incorporates security activities into each stage of the software development life cycle. The model aims to efficiently integrate security as a cross-cutting concern using aspect orientation. It is concluded that aspect orientation allows security features to be installed without changing the existing software structure, providing benefits over other approaches.
Constructing a software requirements specification and design for electronic ...Ra'Fat Al-Msie'deen
Requirements engineering process intends to obtain software services and constraints. This process is essential to meet the customer's needs and expectations. This process includes three main activities in general. These are detecting requirements by interacting with software stakeholders, transferring these requirements into a standard document, and examining that the requirements really define the software that the client needs. Functional requirements are services that the software should deliver to the end-user. In addition, functional requirements describe how the software should respond to specific inputs, and how the software should behave in certain circumstances. This paper aims to develop a software requirements specification document of the electronic IT news magazine system. The electronic magazine provides users to post and view up-to-date IT news. Still, there is a lack in the literature of comprehensive studies about the construction of the electronic magazine software specification and design in conformance with the contemporary software development processes. Moreover, there is a need for a suitable research framework to support the requirements engineering process. The novelty of this paper is the construction of software specification and design of the electronic magazine by following the Al-Msie'deen research framework. All the documents of software requirements specification and design have been constructed to conform to the agile usage-centered design technique and the proposed research framework. A requirements specification and design are suggested and followed for the construction of the electronic magazine software. This study proved that involving users extensively in the process of software requirements specification and design will lead to the creation of dependable and acceptable software systems.
The system was created using VB .NET in front end and SQL SERVER 2008 as database in backend . Airline Reservations System contain airline schedules, fare tariffs, passenger reservations and ticket records and customer details etc.
Software Quality Analysis Using Mutation Testing SchemeEditor IJMTER
The software test coverage is used measure the safety measures. The safety critical analysis is
carried out for the source code designed in Java language. Testing provides a primary means for
assuring software in safety-critical systems. To demonstrate, particularly to a certification authority, that
sufficient testing has been performed, it is necessary to achieve the test coverage levels recommended or
mandated by safety standards and industry guidelines. Mutation testing provides an alternative or
complementary method of measuring test sufficiency, but has not been widely adopted in the safetycritical industry. The system provides an empirical evaluation of the application of mutation testing to
airborne software systems which have already satisfied the coverage requirements for certification.
The system mutation testing to safety-critical software developed using high-integrity subsets of
C and Ada, identify the most effective mutant types and analyze the root causes of failures in test cases.
Mutation testing could be effective where traditional structural coverage analysis and manual peer
review have failed. They also show that several testing issues have origins beyond the test activity and
this suggests improvements to the requirements definition and coding process. The system also
examines the relationship between program characteristics and mutation survival and considers how
program size can provide a means for targeting test areas most likely to have dormant faults. Industry
feedback is also provided, particularly on how mutation testing can be integrated into a typical
verification life cycle of airborne software. The system also covers the safety and criticality levels of
Java source code.
FROM THE ART OF SOFTWARE TESTING TO TEST-AS-A-SERVICE IN CLOUD COMPUTINGijseajournal
Researchers consider that the first edition of the book "The Art of Software Testing" by Myers (1979)
initiated research in Software Testing. Since then, software testing has gone through evolutions that have
driven standards and tools. This evolution has accompanied the complexity and variety of software
deployment platforms. The migration to the cloud allowed benefits such as scalability, agility, and better
return on investment. Cloud computing requires more significant involvement in software testing to ensure
that services work as expected. In addition to testing cloud applications, cloud computing has paved the
way for testing in the Test-as-a-Service model. This review aims to understand software testing in the
context of cloud computing. Based on the knowledge explained here, we sought to linearize the evolution of
software testing, characterizing fundamental points and allowing us to compose a synthesis of the body of
knowledge in software testing, expanded by the cloud computing paradigm.
From the Art of Software Testing to Test-as-a-Service in Cloud Computingijseajournal
Researchers consider that the first edition of the book "The Art of Software Testing" by Myers (1979)
initiated research in Software Testing. Since then, software testing has gone through evolutions that have
driven standards and tools. This evolution has accompanied the complexity and variety of software
deployment platforms. The migration to the cloud allowed benefits such as scalability, agility, and better
return on investment. Cloud computing requires more significant involvement in software testing to ensure
that services work as expected. In addition to testing cloud applications, cloud computing has paved the
way for testing in the Test-as-a-Service model. This review aims to understand software testing in the
context of cloud computing. Based on the knowledge explained here, we sought to linearize the evolution of
software testing, characterizing fundamental points and allowing us to compose a synthesis of the body of
knowledge in software testing, expanded by the cloud computing paradigm.
Biomedical engineering work is subjected to stringent regulatory constraints that mandate a robust engineering process that conforms to all pertinent regulatory guidelines and imperatives.
Software development is an important component of any engineering project and as such, it should be equally addressed and properly integrated with the overall engineering process. To that effect, the following software development process is proposed. This process attempts to be well grounded in the nature of innovative Biomedical engineering work. There are inherent significant technology risks related to the development of innovative biomedical devices. These risks must be correctly identified, and mitigated throughout the entire engineering process. The main benefit of the software development process presented here is its explicit management of software risk factors as recommended by modern successful software development practices.
1. Emergence of Software EngineeringIn the software industry, we.docxjackiewalcutt
1. Emergence of Software Engineering
In the software industry, we have seen the complexity of computer-based systems increase dramatically over the past decades along with advances in technology. This new technology has increased the demand for computer-based systems to control many infrastructures with software. As a result, designing and building cost-effective, reliable, and high-quality software has become the focus of software engineering in the computer industry.
In the past the processes used for designing and developing software were very informal, which contributed to the rise in development and maintenance costs. The results of ad hoc development processes contributed to a higher percentage of unreliable and lesser quality products entering the marketplace. Many accidents resulted from failures in computer-based systems with hardware devices that were controlled with software. At the time, the industry was considered to be in a crisis state, which then led to the emergence of new practices and methods in software engineering.
Technological advances have had a big impact on the complexity level required in software systems. The emergence of new communication protocols, hardware devices, and graphical user interface components have placed a greater demand on software engineers to design quality, reliable, and safe software.
A Brief History of Software Engineering
In the 1950s and the early 1960s, the various engineering disciplines were beginning to analyze how aspects of the engineering field could be applied to methods used in developing software products. As computing power evolved over the decades, the demand increased along with the complexity of the problems that needed to be addressed in the design of software. The term software engineering was introduced in 1968 at the first international software engineering conference, held by the North Atlantic Treaty Organization (NATO) Science Committee (Mahoney 2004). Many practitioners believe this is the milestone that marked the emergence of the software engineering discipline.
Software was developed to control critical hardware devices in the mid- to late-1960s and early 1970s. During this time, cases emerged that involved operational errors and accidents resulting in the loss of human lives and damage to property. Defects in software were uncovered, which heightened public awareness to the need for better quality and reliability of software. The escalating cost of building quality and reliable software was on the rise in the computer industry and the demand for skilled programmers could not be met. The state of software development was viewed by practitioners as being in a "crisis" state and was commonly referred to as the software crisis.
In response to the software crisis, researchers and practitioners have been trying to develop a set of methodologies, processes, and tools as the "silver bullet" for building software. The combination of these methodologies, processes, and tools i ...
The presentation describes how to conduct reliability planning and testing for software controlled electron-mechanical systems. It is based on working experience in US FDA, FCC and European CE regulated companies. The presentation provides practical and rational steps to improve product reliability and comply with applicable regulations.
研讨会简报介绍了如何进行软件控制的电子机械系统的可靠性规划和测试。它是基于在美国FDA,FCC和欧洲CE规管公司的工作经验。研讨会演示文稿提供仅结合实际,合理的措施来提高产品的可靠性,并遵守适用的法规.
IJCER (www.ijceronline.com) International Journal of computational Engineerin...ijceronline
This document provides a selective survey of software reliability models. It discusses both static models used in early development stages and dynamic models used later. For static models, it describes a phase-based model and predictive development life cycle model. For dynamic models, it outlines reliability growth models, including binomial, Poisson, and other classes. It also presents a case study of incorporating code changes as a covariate into reliability modeling during testing of a large telecommunications system. The document concludes by advocating for wider use of statistical software reliability models to improve development and testing processes.
Similaire à STUDY ON TECHNICAL FOCUSES AND SAMPLING COVERAGE STRATEGY OF AIRBORNE SOFTWARE REVIEWS (20)
Redefining brain tumor segmentation: a cutting-edge convolutional neural netw...IJECEIAES
Medical image analysis has witnessed significant advancements with deep learning techniques. In the domain of brain tumor segmentation, the ability to
precisely delineate tumor boundaries from magnetic resonance imaging (MRI)
scans holds profound implications for diagnosis. This study presents an ensemble convolutional neural network (CNN) with transfer learning, integrating
the state-of-the-art Deeplabv3+ architecture with the ResNet18 backbone. The
model is rigorously trained and evaluated, exhibiting remarkable performance
metrics, including an impressive global accuracy of 99.286%, a high-class accuracy of 82.191%, a mean intersection over union (IoU) of 79.900%, a weighted
IoU of 98.620%, and a Boundary F1 (BF) score of 83.303%. Notably, a detailed comparative analysis with existing methods showcases the superiority of
our proposed model. These findings underscore the model’s competence in precise brain tumor localization, underscoring its potential to revolutionize medical
image analysis and enhance healthcare outcomes. This research paves the way
for future exploration and optimization of advanced CNN models in medical
imaging, emphasizing addressing false positives and resource efficiency.
Optimizing Gradle Builds - Gradle DPE Tour Berlin 2024Sinan KOZAK
Sinan from the Delivery Hero mobile infrastructure engineering team shares a deep dive into performance acceleration with Gradle build cache optimizations. Sinan shares their journey into solving complex build-cache problems that affect Gradle builds. By understanding the challenges and solutions found in our journey, we aim to demonstrate the possibilities for faster builds. The case study reveals how overlapping outputs and cache misconfigurations led to significant increases in build times, especially as the project scaled up with numerous modules using Paparazzi tests. The journey from diagnosing to defeating cache issues offers invaluable lessons on maintaining cache integrity without sacrificing functionality.
Software Engineering and Project Management - Introduction, Modeling Concepts...Prakhyath Rai
Introduction, Modeling Concepts and Class Modeling: What is Object orientation? What is OO development? OO Themes; Evidence for usefulness of OO development; OO modeling history. Modeling
as Design technique: Modeling, abstraction, The Three models. Class Modeling: Object and Class Concept, Link and associations concepts, Generalization and Inheritance, A sample class model, Navigation of class models, and UML diagrams
Building the Analysis Models: Requirement Analysis, Analysis Model Approaches, Data modeling Concepts, Object Oriented Analysis, Scenario-Based Modeling, Flow-Oriented Modeling, class Based Modeling, Creating a Behavioral Model.
Embedded machine learning-based road conditions and driving behavior monitoringIJECEIAES
Car accident rates have increased in recent years, resulting in losses in human lives, properties, and other financial costs. An embedded machine learning-based system is developed to address this critical issue. The system can monitor road conditions, detect driving patterns, and identify aggressive driving behaviors. The system is based on neural networks trained on a comprehensive dataset of driving events, driving styles, and road conditions. The system effectively detects potential risks and helps mitigate the frequency and impact of accidents. The primary goal is to ensure the safety of drivers and vehicles. Collecting data involved gathering information on three key road events: normal street and normal drive, speed bumps, circular yellow speed bumps, and three aggressive driving actions: sudden start, sudden stop, and sudden entry. The gathered data is processed and analyzed using a machine learning system designed for limited power and memory devices. The developed system resulted in 91.9% accuracy, 93.6% precision, and 92% recall. The achieved inference time on an Arduino Nano 33 BLE Sense with a 32-bit CPU running at 64 MHz is 34 ms and requires 2.6 kB peak RAM and 139.9 kB program flash memory, making it suitable for resource-constrained embedded systems.
Comparative analysis between traditional aquaponics and reconstructed aquapon...bijceesjournal
The aquaponic system of planting is a method that does not require soil usage. It is a method that only needs water, fish, lava rocks (a substitute for soil), and plants. Aquaponic systems are sustainable and environmentally friendly. Its use not only helps to plant in small spaces but also helps reduce artificial chemical use and minimizes excess water use, as aquaponics consumes 90% less water than soil-based gardening. The study applied a descriptive and experimental design to assess and compare conventional and reconstructed aquaponic methods for reproducing tomatoes. The researchers created an observation checklist to determine the significant factors of the study. The study aims to determine the significant difference between traditional aquaponics and reconstructed aquaponics systems propagating tomatoes in terms of height, weight, girth, and number of fruits. The reconstructed aquaponics system’s higher growth yield results in a much more nourished crop than the traditional aquaponics system. It is superior in its number of fruits, height, weight, and girth measurement. Moreover, the reconstructed aquaponics system is proven to eliminate all the hindrances present in the traditional aquaponics system, which are overcrowding of fish, algae growth, pest problems, contaminated water, and dead fish.
Discover the latest insights on Data Driven Maintenance with our comprehensive webinar presentation. Learn about traditional maintenance challenges, the right approach to utilizing data, and the benefits of adopting a Data Driven Maintenance strategy. Explore real-world examples, industry best practices, and innovative solutions like FMECA and the D3M model. This presentation, led by expert Jules Oudmans, is essential for asset owners looking to optimize their maintenance processes and leverage digital technologies for improved efficiency and performance. Download now to stay ahead in the evolving maintenance landscape.
Design and optimization of ion propulsion dronebjmsejournal
Electric propulsion technology is widely used in many kinds of vehicles in recent years, and aircrafts are no exception. Technically, UAVs are electrically propelled but tend to produce a significant amount of noise and vibrations. Ion propulsion technology for drones is a potential solution to this problem. Ion propulsion technology is proven to be feasible in the earth’s atmosphere. The study presented in this article shows the design of EHD thrusters and power supply for ion propulsion drones along with performance optimization of high-voltage power supply for endurance in earth’s atmosphere.
artificial intelligence and data science contents.pptxGauravCar
What is artificial intelligence? Artificial intelligence is the ability of a computer or computer-controlled robot to perform tasks that are commonly associated with the intellectual processes characteristic of humans, such as the ability to reason.
› ...
Artificial intelligence (AI) | Definitio
An improved modulation technique suitable for a three level flying capacitor ...IJECEIAES
This research paper introduces an innovative modulation technique for controlling a 3-level flying capacitor multilevel inverter (FCMLI), aiming to streamline the modulation process in contrast to conventional methods. The proposed
simplified modulation technique paves the way for more straightforward and
efficient control of multilevel inverters, enabling their widespread adoption and
integration into modern power electronic systems. Through the amalgamation of
sinusoidal pulse width modulation (SPWM) with a high-frequency square wave
pulse, this controlling technique attains energy equilibrium across the coupling
capacitor. The modulation scheme incorporates a simplified switching pattern
and a decreased count of voltage references, thereby simplifying the control
algorithm.
Manufacturing Process of molasses based distillery ppt.pptx
STUDY ON TECHNICAL FOCUSES AND SAMPLING COVERAGE STRATEGY OF AIRBORNE SOFTWARE REVIEWS
1. International Journal of Software Engineering & Applications (IJSEA), Vol.13, No.1, January 2022
DOI: 10.5121/ijsea.2022.13102 19
STUDY ON TECHNICAL FOCUSES AND
SAMPLING COVERAGE STRATEGY OF AIRBORNE
SOFTWARE REVIEWS
Jinghua Sun1
, Samuel Edwards2
, Nic Connelly3
, Andrew Bridge4
and Lei Zhang1
1
COMAC Shanghai Aircraft Design and Research Institute, Shanghai, China
2
Defence Aviation Safety Authority, 661 Bourke St, Melbourne, VIC, Australia
3
School of Engineering, RMIT University, Melbourne, VIC, Australia
4
European Union Aviation Safety Agency, Cologne, Germany
ABSTRACT
Airborne software is invisible and intangible, it can have a significant impact on the safety of the aircraft.
However, it cannot be exhaustively tested, and can only be assured through a structured, process, activity,
and objective-based approach. This paper studied the similarities and differences of software review
policies of the four selected National Airworthiness Authorities (NAAs) by using a comparative approach
and analysed the general certification basis of specific regulation clauses from the International Civil
Aviation Organization Conventions to each contracting States’ regulations by a traceability method. Then
analyzed the development processes and objectives applicable to different software levels based on
RTCA/DO-178C. Identified 82 technical focus points based on each airborne software development sub-
process, then created a Process Technology Coverage matrix to demonstrate the technical focuses of each
process. Developed an objective-oriented top-down and bottom-up sampling strategy for the 4 software
Stage of Involvement reviews by taking into account the frequency and depth of involvement. Finally,
created the Technology Objective Coverage matrix, which can support the reviewers to perform the
efficient risk-based SOI reviews by considering the identified technical points, thus to ensure the safety of
the aircraft from the software assurance perspective.
KEYWORDS
Airborne Software, SOI, DO-178C, Objective, Sampling Strategy.
1. INTRODUCTION
With the development of computer technology, more and more aircraft system functions are
implemented by airborne software. Almost all the civil aircraft systems, for instance, the flight
control system, landing gear system, hydraulic system, fuel system, communication system,
navigation system, display system, electrical power system, and power plant system, include
software. The integration and complexity of software are increasing day by day. However,
Software is an intangible asset, having no physical presence, which is stored on a variety of
media (CASA, 2014). The software will fail only when there is a potential error, virus, design
error, or single event exception. Software design errors may exist for many years without
manifesting or causing malfunctions. Thus quality should be built into the software and be
reviewed by assuring the development and verification processes (CASA, 2014) (Rierson, 2013).
For the leading airworthiness authorities in the world, airborne software is always one of the key
concerns in the aircraft certification process (EASA, 2012).
2. International Journal of Software Engineering & Applications (IJSEA), Vol.13, No.1, January 2022
20
As competent NAAs need to maintain expertise in a wide range of aircraft design technologies
(Hilderman & Baghai, 2007), for example, maintain expertise in the design of aircraft structures,
propulsion systems, aviation software, electromagnetic environmental effects, human factors,
performance, and handling, electrical systems, navigation systems, and many others. This project
is focused on the study of the airborne software domain. The NAAs’ software review officers,
Designated Engineering Representatives (DERs), and the certification engineers of an
Organization Designation Authorization (ODA) or Design Organization Approval (DOA) need to
be familiar with airborne software developing processes and understand the related technologies
to be able to do deep and effective reviews, supporting them to judge whether the software
complies with applicable airworthiness regulations (FAA, 2004).
1.1. Research questions
This study focuses on software review strategy and related software technologies that need to be
maintained by the reviewers. The term of technology in this paper means the sum
of techniques, skills, methods, and processes used in the production of airborne software and the
accomplishment of compliance objectives. Airborne software-related technology can be divided
into different layers. Airborne software is the first layer technology, the main life cycle processes
is second, then the sub-process can be treated as the third layer, the output and technical points of
each sub-process is next, and the specific technical aspects of each sub-process is the last layer of
this study, such as deactivated code, partitioning and so on, which is regarded as a technology in
this paper.
Therefore, the key research question is: What is the ideal technology coverage and airborne
software sampling strategy of software reviews for an Airworthiness Authority? This question
contains the following three aspects.
Firstly, installed software is a subset of aircraft systems and equipment and is reviewed and
approved as an integral part of the certification of the parent equipment (CASA, 2014). NAA’s
software reviews are official activities, which are used to find compliance with regulations. The
first sub-question is: What is airborne software regulatory requirements? That means the
certification basis of airborne software should be established prior to the software reviews.
Secondly, the main purpose of software review is to ensure the safety of software products
(Wetherholt & Penix, 2002). Reviewers not only pay attention to the development process but
also pay attention to the completeness and correctness of software design data through sampling
reviews. So they should understand the technologies used in the software development process
and their impact on safety. There are many specific technologies are used, such as Requirements-
Based Testing (RBT), Tool Qualification, Model-Based Development (MBD), Object-Oriented
Technology (OOT), and so on. The software reviewers should be able to find defects and
loopholes in the software life cycle process to ensure the systems hosting airborne software to
operate at an acceptable safety level (Jimenez, et al., 2020), which leads to the second question:
What technologies should be identified and focused on during software reviews?
Thirdly, a software project can last for several years depending on the criticality, complexity, and
maturity of the systems and many other organizational factors (Delange, et al., 2015), a NAA’s
software review Level of Involvement (LOI) criteria and review strategy can support the NAA’s
resource management and have a good balance between review frequency and depth. Given that
samplings are picked from numerous artifacts, an intelligent strategy can support an effective and
efficient software review (Chen, et al., 2015). The last sub-question comes with: what is the
sampling strategy of software reviews?
3. International Journal of Software Engineering & Applications (IJSEA), Vol.13, No.1, January 2022
21
1.2. Research objectives
Based on the statement of the problem, this study aims to explore an ‘ideal’ airborne software
review and sampling coverage strategy for a NAA provided that identifying technical focuses
based on software life cycle processes. The objectives include:
a) Capturing airborne software regulatory requirements and policies.
b) Identifying the range of airborne software technologies based on the typical advanced
widely-Used airborne software life cycle process.
c) Developing the software sampling review strategy that can support a NAA to do a
sufficient effective software review by taking into account the frequency and depth of the
reviews.
2. BACKGROUND
Modern transport aircraft can be developed to have a stable flight profile, but embedded software
is used to control and optimize the flight of the aircraft (Romanski, 2001). Software safety is an
increasingly prominent issue in today’s aviation industry (Mendis, 2008). The aircraft systems
can directly affect the safety of aircraft. However, the software is fundamentally different from
the physical components installed on the aircraft. Continuous testing cannot guarantee that the
software has the same reliability level as the physical components. The structural components of
the aircraft can be tested to ensure that there are no design and manufacturing defects, whereas
the Mean Time between Failures (MTBF) and programmed replacements do not apply to
software components (CASA, 2014). The software embedded in these systems also has a direct
impact on the safety of the aircraft and its occupants (Hilderman & Baghai, 2007). Employing
software review technology can ensure that rigor has been applied during the applicant’s design
commensurate with the worst-case failure condition associated with airborne software (RTCA,
2011a).
Therefore, a certain level of assurance is required to have confidence in software to ensure
aircraft safety. In October 2018 and March 2019, two Boeing 737MAX planes belonging to
Indonesia Lion Air and Ethiopian Airlines crashed respectively, causing a total of 346 deaths,
which was directly related to the design of the Maneuvering Characteristics Augmentation
System (MCAS) and its flight control law software (COMMITTEE, 2020). It has been a great
loss for Boeing, at the same time the FAA as the supervisor, also triggered a crisis of public trust.
Wayne Rash stated that “As is the case where software controls hardware, there are ways things
can go wrong either because something happened that wasn’t anticipated, or because the response
was wrong” (Rash, 2019). So what can be done to ensure that the software to be maintained at an
acceptable level of safety?
As software is invisible and intangible, it is unlike the structural parts of an aircraft that can be
measured and verified through tests and inspections (CASA, 2014). Due to the particularity of
airborne software and the professionalism of software-related technologies, high requirements are
placed on airborne software reviewers. However, the complexity and scale of software keep
increasing as modern civil airplanes are getting more and more integrated and complex.
Figure 1 shows the estimated airborne Software Lines of Code (SLOC) growth of Boeing and
Airbus aircraft. According to Information is Beautiful, there are a total of 14 million lines of
codes in Boeing 787 (Beautiful, 2015). Formulating a set of airborne software review strategies
with related technical focuses is an important issue.
4. International Journal of Software Engineering & Applications (IJSEA), Vol.13, No.1, January 2022
22
Figure 1. Illustration of Estimated SLOC Growing to Double Every Four Years
Source :( StClair & Hillary, 2012)
Given that software is but an executable computer file, it is not feasible to assess the number of
kinds of software errors (FAA, 1988). For more than three decades, airborne software has been
developed and assured through a structured approach based on objectives and activities ( Rierson,
2013). The most commonly used method to measure software goodness is a document called,
Software Considerations in Airborne Systems and Equipment Certification. In the US, it is called
DO-178 and in Europe, it is called ED-12, which is recognized as a Means of Compliance (MOC)
by NAAs via their respective Advisory Circular (AC) (Hilderman & Baghai, 2007). This study
was carried out based on the latest version of the DO-178C software life cycle. The NAAs,
Military Airworthiness Authorities (MAAs), software certification officers, DERs, ODAs, DOAs,
and aircraft applicants will benefit from this study.
3. METHODOLOGY
3.1. A Step-by-Step Methodology
This project used a step-by-step methodology to do the research and solve the problem. It focused
on the technology coverage for each SOI review based on the DO-178C life cycle. Firstly, it
captured the airworthiness authority’s regulatory requirements for software reviews in a
comparative approach, and secondly studied the DO-178C life cycle process to identify the
software review technical concerns and a comprehensive set of technologies related to each
process, then formulated an ideal airborne software SOI review and sampling strategy by taking
into account the identified technologies of each process, finally made a recommendation for
improvement of software review guidance for the NAAs and a conclusion of the achievement of
this research. The research route map was shown in Figure 2. The four-step approach research
route map and technical solutions were carried out as follows.
5. International Journal of Software Engineering & Applications (IJSEA), Vol.13, No.1, January 2022
23
Figure 2. A step by step research methodology
Step1: Analyzed the airborne software certification basis and the MOC
According to the literature review, the airworthiness regulations of other Contracting States do
not inherit ICAO's clear airworthiness requirements for airborne software in Appendix H of
ICAO Annex 8. It is necessary to analyze the corresponding regulatory requirements for
software to form the legal basis of software reviews. This analysis includes:
a) Capturing the requirements of airborne software from the ICAO convention as the root
source.
b) Analyzing the traceability relationship between ICAO convention and each Contracting
States’ regulations.
c) Analyzing the clauses of the regulation that are applicable for airborne software to identify
the common certification basis of airborne software.
d) Analyzing the airborne software compliance means recognized by NAAs and the
justification.
e) Analyzing the software certification-related policies in a comparative approach among
FAA, EASA, CASA, and CAAC.
6. International Journal of Software Engineering & Applications (IJSEA), Vol.13, No.1, January 2022
24
Step 2: Identified the process based technical focuses
This paper used a quantitative research approach to analyze DO-178C processes and objectives
according to the software Development Assurance Level (DAL), then identified technical
focuses for each process, which mainly contains:
a) Analysis of DO-178C based software life cycle processes, the relationship between each
process, and objectives applicable to different software DAL.
b) Analysis of Technical Focuses of DO-178C process.
Step 3: Developed the software SOI review strategy
Based on the DO-178C life cycle process and the identified technologies, this paper studied and
formulated the review strategy for each SOI with a qualitative research approach. Aiming at the
SOI#2 and SOI#3 software development and verification process, this paper created a sampling
strategy to make the SOI reviews more efficient and effective. The following study is performed:
a) Based on the current documented LOI criteria generated by FAA and EASA, researched
and supplemented several LOI criteria that are conducive to work practice.
b) Based on the analysis of SOI review procedures and manuals in FAA Order8110.40,
EASA CM-AEHSW-002, and FAA Software Review Job Aid , developed a set of
software review strategies combining software technical concerns and sampling strategies.
c) Quantitative analysis of process technologies and objectives applicable to each SOI review
by a Process & Technology Coverage (PTC) matrix and a Technology & Objective
Coverage (TOC) matrix.
Step4: Provided the recommendations and conclusions
Based on the above three-step study and analysis, this paper made recommendations on future
improvement and summarized the achievement and limitation of this study.
3.2. Source of data
The sources of data are mainly from ICAO Conventions, the NAA’s Regulations, industry
standards, government official database including FAA, EASA and CAAC’s websites, research
papers, and reports from Google Scholar and RMIT e-library, and interviews of DASA software
specialists, industry experts, and other certification specialists.
4. ANALYSIS OF SOFTWARE REVIEW TECHNICAL FOCUSES
4.1. Comparative Analysis of Airborne Software Regulatory Requirements
The leading NAAs recognize DO-178C as an acceptable MOC of airborne software through ACs
(FAA, 2013) (EASA, 2013) (CASA, 2014). They also published many policies to guide the
software review and approval.
Table 1 provides a comparison of current software review policies of FAA, EASA, CASA, and
CAAC from the following dimensions:
a) The recognized MOC,
b) The main content comparison of software MOC ACs,
c) Software review and approval guidelines,
7. International Journal of Software Engineering & Applications (IJSEA), Vol.13, No.1, January 2022
25
d) Delegation mechanism,
e) LOI criteria,
f) SOI review strategy, and
g) Data submittal requirements.
Table 1. The general comparison of the NAAs’ software review policies
Source: (CASA, 2014) (FAA, 2017) (EASA, 2017) (CAAC, 2000) (EASA, 2012) (FAA, 2018) (Cai, 2020)
(CASA, 2019) (CASA, 2011) (FAA, 2011)
Comparison
Dimension
FAA EASA CASA CAAC
The
recognized
MOC
DO-178C DO-178C DO-178C DO-178B
AC AC20-115D
(2017)
Cancelled
AC20-115C
(published in
2013)
AMC20-115D (2017)
Cancelled AMC20-
115C (published in
2013)
AC21-50 (2014)
Software is considered
to be an aeronautical
product following the
Civil Aviation Act
1988 (the Act).
AC-21-
02(2000)
An updated AC
to recognize
DO-178C is
pending release.
Softw
are
Guide
lines
FAA Order
8110.49 A
CM-SWAEH-002
Issue 01 Revision: 01
Refer to FAA Order
8110.49.
Refers to FAA
Order 8110.49.
Deleg
ation
Mech
anism
ODA and DER DOA Approved design
organization (ADO)
and Industry
Delegates/Approved
Persons
DER
LOI Defined LOI
criteria in FAA
Order 8110.49
Chg1 Chapter 3
and Appendix
A.
Defined LOI criteria
in CM-SWAEH-002
Issue 01 Rev 01 in
Chapter 5.
Refer to FAA
Order8110.49 in AC
21-50.
No criteria have
been released.
CAAC’s LOI is
mainly based on
a case-by-case
approach.
SOI Defined in
Order 8110.49
A Chapter 2.
Defined in Chapter 4
of CM-SWAEH-002
Issue01 Rev01.
Refer to FAA
Order8110.49.
Refer to FAA
Order 8110.49.
In CAAC
internal manual
for a civil
aircraft
certification
program,
besides 4 SOIs,
they added
another 2, which
are System-
Software
Consistent
Review before
SOI#1 and
Software
maturity
reviews
8. International Journal of Software Engineering & Applications (IJSEA), Vol.13, No.1, January 2022
26
Through comparative analysis, it can be known that the NAAs use the SOI review method and
most of them have recognized DO-178C as an acceptable means of compliance of airborne
software by ACs. Given that the differences mainly exist at their respective practical level,
analyzing the DO-178C process and objectives allows identifying the technologies related to the
software reviews.
4.2. Analysis of DO-178C Software Life Cycle Process and Objectives
DO-178C is a process-based activity-driven objective-oriented standard. It is not a software
development standard, but a method to measure the goodness of software to ensure safety to be
maintained at an acceptable level. It contains 6 processes (represented in Figure 3), which are
planning process, development process, and 4 integral processes (verification process,
configuration management process, quality assurance process, and certification liaison process).
The integral processes are supported throughout the whole software lifecycle (RTCA, 2011a). It
has to be mentioned, however, that not all the projects follow a perfect Waterfall model (Jimenez
el. 2020), but a variation in the representation of the waterfall model instead (Santos and Ferreira
2019).
Figure 3. DO-178C software life cycle processes
A latent software error in data or the final product can cause a fault of the software, then the
abnormal behaviors of software can lead to a system failure condition, which can finally affect
the aircraft operations. The rigor of software development is determined by the software level.
DO-178C defined 5 software levels as listed in Table 2, DAL A is the severest, while DAL E has
no safety impact. The software DAL is determined by the system safety assessment process. The
different level has different objectives requirements. Table 3 and Figure 4 are the comparison of
DO-178C's Objectives in Annex A from Table A-1 to Table A-10 for different DALs of software.
depending on
the project
status.
Data
Subm
ittal
At least PSAC,
SCI, and SAS.
TQP and TAS
if applicable.
At least PSAC, SCI,
and SAS. TQP and
TAS if applicable.
At least PSAC, SCI,
SAS, and SQA records.
TQP and TAS if
applicable.
At least PSAC,
SCI, and SAS.
TQP and TAS if
applicable.
9. International Journal of Software Engineering & Applications (IJSEA), Vol.13, No.1, January 2022
27
Table 2. DO-178C Software DAL , related failure conditions and objectives.
Source: ( Marques & Yelisetty , 2019)
System Failure
Condition
Required Software
Level
Number of
Associated
Objectives
Number of
Associated
Objectives with
Independence
Catastrophic A 71 31
Hazardous B 69 19
Major C 62 5
Minor D 26 2
No Safety Effect E 0 0
Table 3. Comparison of DO-178C objectives for different software levels.
The experience accumulation of reviewers can start from Level D software review, and gradually
master the review methods and techniques of higher-level software, to finally be competent for
the review of Level A software:
a) Level D can be treated as a black box, which only focuses on high-level requirements
development and verification. If updating a level D software to level C, there will be a leap
of workload.
b) The objectives differences between level C and level B include 1 Objective in Table A-3
“High-level requirements are compatible with target computer”, 4 objectives in Table A-4
about the compatibility and verifiability of low-level requirements and architecture, 1
objective in Table A-5 “Source code is verifiable”, and 1 objective about decision coverage
in Table A-7.
c) The main differences between A and B are 2 objectives in Table A-7, which are
requirements of MCDC Structural Coverage Analysis (SCA) and verification of additional
code that cannot be traced to source code.
Annex A A B C D
Table A-1 Software Planning Process 7 7 7 2
Table A-2 Software Development Process 7 7 7 4
Table A-3 Verification of Outputs of Software Requirements
Process
7 7 6 3
Table A-4 Verification of Outputs of the Software Design
Process
13 13 9 1
Table A-5 Verification of Outputs of Software Coding &
Integration Processes
9 9 8 1
Table A-6 Testing of Outputs of Software Integration Process 5 5 5 3
Table A-7 Verification of Verification Process Results 9 7 6 1
Table A-8 Software Configuration Management Process 6 6 6 6
Table A-9 Software Quality Assurance Process 5 5 5 2
Table A-10 Certification Liaison Process 3 3 3 3
10. International Journal of Software Engineering & Applications (IJSEA), Vol.13, No.1, January 2022
28
Figure 4. The comparison of applicable objectives in each Table of Annex A for different software levels
4.3. Analysis of Technical Focuses of DO-178C Process
Study on the DO-178C objectives and process can help software reviewers quickly locate the
technical focuses and finding compliance. Table 4 is the analysis of the technologies based on
DO-178C software life cycle processes. Each process of DO-178C may contain sub-process and
components (RTCA, 2011a). The technical focus points are analysed based on each component,
which should be covered and concerned during the software reviews. The technologies are from
the research and analysis of the technical focus points with most of them are described in DO-
178C and a few are from the industry practice, then they are compared with the CAST Paper
research themes, finally re-analysed to ensure the completeness of the technology list.
11. International Journal of Software Engineering & Applications (IJSEA), Vol.13, No.1, January 2022
29
Table 5. Qualitative analysis of technical focus points and related techniques of DO-178C
Source: (RTCA, 2011a) (FAA, 2003) (EASA, 2012) (FAA, 2004) (FAA, 2017) (CAST, 2002) (RTCA, 2011b)
Process Sub-
process/
Compon
ents
Technical Focus
Points/Elements
Technologies (Ti, i=1…n)
4.0 Software
Planning
4.3
Software
Plans
11.1 PSAC
11.2 SDP
11.3 SVP
11.4 SCMP
11.5 SQAP
1) Software DAL Determination
2) Partitioning
3) Multiple-Version Dissimilar Software
4) Safety Monitoring
5) PDI
6) User-Modifiable Software
7) COTS
8) Field-Loadable Software
9) Option-Selectable Software
10) Software Life Cycle Definition
11) Transition Criteria
12) Deactivated Code
13) PDS
14) Tool Qualification
15) Reuse of tool qualification data
16) Reuse of software life cycle data
17) Exhaustive Input Testing
18) Software Reliability Model
19) Product Service History
20) Database/PDI
21) Use of COTS Graphical Processor Unit
(GPU)
22) Microprocessor
23) Multiple Core Processors
24) SEU (Single Event Upset)
25) Reverse engineering
4.4
Software
Life
cycle
Environ
ment
Planning
4.4.1 Software
Development
Environment
4.4.2 Language and
Complier
4.4.3 Software Test
Environment
4.5
Software
Develop
ment
Standard
s
11.6 Software
Requirements
Standards
11.7 Software Design
Standards
11.8 Software Code
standards
5.0 Software
Development
5.1
Software
Require
ments
11.9 Software
Requirements Data
11.22 Parameter Data
Item File
26) High-Level Requirements
27) Derived requirements
28) Merging high-level requirements and
low-level requirements
5.2
Software
Design
11.10 Design
Description
29) Control Flow Design
30) Data Flow Design
31) Low-Level Requirements
32) PDI Design
12. International Journal of Software Engineering & Applications (IJSEA), Vol.13, No.1, January 2022
30
Process Sub-
process/
Compon
ents
Technical Focus
Points/Elements
Technologies (Ti, i=1…n)
5.3
Software
Coding
11.11 Source Code
11.22 Parameter Data
Item File
33) C, Ada, Assembly languages
34) Auto code generation
35) MBD
36) OOT
37) Cache
38) Stack
5.4
Integrati
on
11.12 Executable
Object Code
39) Compiling
40) Complier library
41) Software Integrity Check (e.g. Cyclic
redundancy check, Checksum)
5.5
Traceabil
ity
11.21 Trace Data 42) Traceability Tools (eg. DOORS)
6.0 Software
Verification
6.3
Software
review
and
analysis
Review and analysis
of Software Plans and
standards
6.3.1 Review and
analysis of Software
High-Level
Requirements (HLRs)
6.3.2 Review and
analysis of Software
Low-Level
Requirements (LLRs)
6.3.3 Review and
analysis of Software
Architecture
6.3.4 Review and
analysis of Source
Code
6.3.5 Review and
analysis of the
Outputs of the
Integration Process
6.4.5 Review and
analysis of Test
Cases, procedures,
and results
6.6 Review and
analysis of PDI File
43) Plans and Standards Review
44) HLR Review and Analysis
45) LLR Review and Analysis
46) Architecture Review and Analysis
47) Source Code Review and Analysis
48) Outputs of the Integration Process Review
and Analysis
49) Test Cases Review and Analysis
50) PDI file Review and Analysis
51) Worst-Case Execution Time
52) Verification of Stack Usage
53) Model Review and Analysis
54) Verification of independence
6.4
Software
Testing
6.4.1 Test
Environment
6.4.2,6.2.3
Requirements-Based
Test
6.4.4 Test coverage
Analysis
55) Hardware/Software Integration Testing
56) Software Integration Testing
57) Low-Level Testing
58) Normal Range Test Cases Selection
59) Robustness Test Cases Selection
60) MCDC
61) Decision Coverage Analysis
62) Statement Coverage Analysis
63) Data Coupling
64) Control Coupling
65) DAL A additional verification (Whether
13. International Journal of Software Engineering & Applications (IJSEA), Vol.13, No.1, January 2022
31
Process Sub-
process/
Compon
ents
Technical Focus
Points/Elements
Technologies (Ti, i=1…n)
Object Code can directly traceable to
source code)
66) Extraneous Code Resolution
67) Deactivated Code Handle
6.5
Traceabil
ity
11.21 Trace Data
Integral
Process
7.0
Software
Configur
ation
Manage
ment
7.2.1 Configuration
Identification
68) Software part numbering
7.2.2 Baselines and
Traceability
69) Baseline Definition
7.2.3 Problem
Reporting
70) OPR Category Definition
7.2.4 Change Control 71) Software Change Control
7.2.5 Change Review
7.2.6 Configuration
Status Accounting
7.2.7 Archive,
Retrieval, and
Release
72) Media Selection, Refreshing, Duplication
73) Data Retention
7.3 Data Control
Category
7.4 Software Load
Control
74) Software Conformity Inspection
7.5 Software Life
Cycle Environment
Control
8.0
Software
Quality
Assuranc
e
8.2 Software Quality
Assurance Activities
8.3 Software
Conformity Review
(SCR)
75) SCR
76) First Article Inspection (FAI)
9.0
Certificat
ion
Liaison
9.1 Means of
Compliance and
Planning (LOI,
Milestones, and Issue
Papers, etc.)
77) LOI Criteria
9.2 SOI Reviews 78) SOI Review Strategy
79) Sampling Strategy
9.3 Software
Approval, including
approval of Software
Configuration Index
(SCI) and Software
Accomplishment
Summary (SAS)
80) Software maturity evaluation for Type
Inspection Authorization (TIA)
81) Open Problem Report (OPR) Evaluation
82) Software Change Impact Analysis (CIA)
to determine Major or Minor Changes
Note: In addition to the description of the items in the first three columns, the chapter number of the
referenced DO-178C is also listed, such as 6.0 Software Verification, where 6.0 refers to DO-178C
Chapter 6. The verification process is one of the 4 integral processes but is listed separately in the
table because it is highly related to the software product. Each technology is identified as Ti, for
instance, T81 refers to item 81) ORP technology in this table.
14. International Journal of Software Engineering & Applications (IJSEA), Vol.13, No.1, January 2022
32
There is a total of 82 technologies identified based on the DO-178C software life cycle. The same
technology may be used in different processes, but the focus will be on different perspectives. For
example, MBD may be used in planning, design, coding, and verification processes. In the
planning phase, attention should be paid to the life cycle model, tools used, and modelling
standards, but in the verification process, and the model review and model simulation should be
concerned. Different DALs of software need to meet different DO-178C Objectives. Some
technologies may apply to a higher level, but not be used for the lower level. The technology
distribution statistics in each process are shown in Table 5 and Figure 5.
Table 5. Software Process Technology Coverage (PTC) matrix
DO-178C Process Technology Coverage Amount
Planning Process T1 ~T25 25
Development Process T26 ~T42 17
Verification Process T43~ T67 25
Configuration Process T68~ T74 7
Quality Assurance Process T75~ T76 2
Certification Liaison Process T77 ~T82 6
Figure 5. A quantitative analysis of the technology distribution of each process
5. ANALYSIS OF SOFTWARE REVIEWS AND SAMPLING STRATEGY
5.1. Analysis of SOI Reviews and LOI
According to FAA and EASA policy, four SOI reviews are defined, which are SOI#1 Software
Planning Review, SOI#2 Software Development Review, SOI#3 Software Verification Review,
and SOI#4 Final Certification Software Review (FAA, 2003) (EASA, 2012). The review aims to
find systemic problems in the applicant's software developing processes and non-compliance
issues with regulations and to establish confidence in the software through the reviews (FAA,
2004). The purpose of software SOI review is to ensure compliance with DO-178C objectives
and other applicable software policy, guidance, and issue papers (FAA, 2018). The reviews can
be conducted by a certification officer or delegated to a DER or ODA/DOA. The LOI depends
on the project-specific conditions:
15. International Journal of Software Engineering & Applications (IJSEA), Vol.13, No.1, January 2022
33
a) Combined reviews. If the software is level D, PDS with no change, minor changes of PDS,
TSOA, very small size software project, implementing very simple system functions and so
on, the software SOI reviews may be combined into less than four times (FAA, 2003)
(EASA, 2012).
b) Increase review frequency. If it is a complex large project with many sub-systems, IMA
architectures, Level A newly developed software, experiencing multiple problems during
software testing or system testing, the new applicant with no DO-178B/C successful project
experience, they can consider increasing the LOIs, especially in the development and
verification process, which is recommended to do multiple SOI#2 and SOI#3 (FAA, 2003).
c) The main factors that can affect the SOI frequency are analysed as follows:
1) the software category, which means PDS, COTS, new-developed software, TSOA
software, libraries, RTOS, IMA hosted software, etc.,
2) the software DALs as determined by the system safety assessment process (EASA, 2012)
(FAA, 2003),
3) the project characteristics, such as the tier of supplier-chain, the experience of the
applicant, the complexity of the project, system functionality and novelty, software
developing team human resources, and existence of issues associated with Section 12 of
DO-178C (FAA, 2003),
4) the use of new technologies or unusual design features (EASA, 2012),
5) using alternative methods to show compliance,
6) the establishment and operation of the software assurance aspect of the applicant’s
Design Assurance System (DAS), and
7) the amount of planning review activities of the delegation systems (e.g. DER or ODA)
and the applicant’s self-monitoring status (EASA, 2012).
5.2. Analysis of SOI Review and Sampling Strategy
Studies indicate that developing a scientific and reasonable software review and sampling
strategy, and mastering the technology related to each SOI review, especially the impact of this
technology on software compliance verification, will facilitate the rapid identification of key
clues during software reviews (Dodd & Habli, 2012). Each SOI review and sampling strategy,
and the applicable identified technologies for each SOI are analysed in the following sections.
The goal of SOI#1 is to evaluate the compliance of the software planning with the applicable
objectives of Table A-1 and A-8~A-10 of DO-178C Annex A (FAA, 2004).
The goal of SOI#2 is to assess whether the software plans and standards are effectively
implemented and to evaluate the compliance of the software development process to the
applicable objectives of DO-178C Table A-2~A-5, and A-8~A-10 (FAA, 2003). Reviewing is
suggested that focus on the output of the software requirements process, design process, coding
process, and integration process, and assess the compliance with applicable objectives of DO-
178C Table A-2~A-5 through top-down and bottom-up thread review with the Risk-Based
sampling strategy (VanderLeest, 2013)(Xing & Mu, 2015).
The purpose of SOI#3 is to evaluate the compliance of the software verification process with the
applicable objectives of DO-178C Table A-6, A-7, and A-8~A-10 to assess the effectiveness and
implementation of verification plans and procedures (FAA, 2003). The SOI#3 software review
and sampling strategy are suggested to be also risk-based to evaluate the follow-up activities of
findings, observations, and action items generated from the previous stage review.To perform a
delta review of the development data if there are major changes from the previous review.To
16. International Journal of Software Engineering & Applications (IJSEA), Vol.13, No.1, January 2022
34
assess the test cases, test procedures, verification results, test coverage, and code structure
coverage to the applicable objectives of DO-178C Table A-6 and A-7. The sampling strategy is
the same as SOI#2.
The goal of SOI#4 is to determine compliance of the final software product with the appropriate
objectives of RTCA/DO-178C and other applicable certification policies and guidance (FAA,
2003). The SOI#4 review strategy is to evaluate the closure status of findings, observations, and
action items of the previous reviews.Conduct a delta review of SOI#2 and SOI#3 when necessary
if there are major changes or the reviewer does have sufficient confidence in the software
product.Review the Software Conformity Review (SCR) record, or participate in the applicant’s
SCR meetings, which can be combined with the FAI to improve certification efficiency (Chen, et
al., 2015).Assess the OPRs to judge whether it can be deferred to post-TC.Review the final SCI,
SAS, tool qualification data, such as Tool Accomplishment Summary (TAS) if applicable, to
ensure the version of software product intended to be used in the certified system or equipment
fully comply with all applicable DO-178C objectives, the policy, and guidance (FAA, 2004).
5.3. Quantitative Analysis of SOI Technology & Objective Coverage
Through the above analysis, it can be known that the airborne software safety assurance can be
achieved by a structured approach international best practice as described in DO-178C based on
the process and objectives. Table 6 is the analysis result of the applicable technology and
objectives of each SOI. The analysis approach and process are as follows:
a) Based on the analysis of the SOI review strategy in Section 4.3.2 of this paper, identify the
applicable technologies associated with each SOI by referring to the technology list in
Table .
b) Based on DO-178C Annex A and the analysis of SOI review strategy in Section 4.3.2 of this
paper, in conjunction with FAA Order 8110.49 Chapter 2 “Software Review Process” (FAA
2003), which was based on DO-178B, analyzing these data to identify applicable objectives
for each SOI based on DO-178C.
Figure 2 is the quantitative analysis of the distribution of TOC of each SOI review, which
demonstrated that 50% of the DO-178C objectives are assessed in SOI#2 review, and 35% of
technologies are related and are among the highest proportions. According to the number of
objectives, SOI#3 is the second, with the objectives accounting for 32%, and the technology
points involved accounting for 26%. Only SOI#1’s technology accounting for 31%, but SOI#1’s
objective accounting for 16%, which is the third. Finally, SOI#4 objectives are the least 2%, and
technology accounts for 8%. However, SOI#4 is a review of the entire life cycle process. It is
necessary to evaluate all previous SOI review opening items, non-conformance items, and
observation items. Therefore, although the SOI#4 objectives are accounted for the least, it plays a
very critical role in the entire software review process, because through SOI#4 the reviewers will
determine whether the software is in compliance with all the applicable objectives of DO-178C
and whether it can obtain the final approval.
17. International Journal of Software Engineering & Applications (IJSEA), Vol.13, No.1, January 2022
35
Table 6. TOC Matrix of each SOI.
Source: (FAA, 2004) (RTCA, 2011a)
SOI Technology Objectives
Identification Amount Identification Amount
SOI#1 T1~T25, T43,
T68 ~ T69, T77~T78
30 Table A-1: Objective1-7(All Objectives)
Table A-8: Objective1-4
Table A-9: Objective 1
Table A-10: Objective1-2
14
SOI#2 T26 ~T42
T44~ T54
T68~T71
T78~T79
34 Table A-2: Objective 1-6
Table A-3: Objective1-7(All Objectives)
Table A-4: Objective 1-13(All
Objectives)
Table A-5: Objective 1-6
Table A-8: Objective 1-4,6
Table A-9: Objective 1-4
Table A-10: Objective 1-2
43
SOI#3 T48~T49, T51, T54
T55 ~ T67
T68~ T71
T77~T81
26 Table A-5: Objective 7-9
Table A-6: Objective1-5(All Objectives)
Table A-7: Objective 1-9(All Objectives)
Table A-8: Objective1-6(All Objectives)
Table A-9: Objective1-4
Table A-10: Objective 1-2
28
SOI#4 T75 ~ T82 8 Table A-9: Objective 5
Table A-10: Objective 3
2
Figure 6. The TOC distribution of each SOI
6. CONCLUSIONS
Software reviews are always treated as a critical part of the system certification process, provided
that it is conducted in accordance with each NAA’s procedures and handbooks to finding
compliance with the safety-related regulations § 25.1301 and § 25.1309. This research analysed
regulation requirements and software review policies of the FAA, EASA, CASA, and CAAC
using a comparative approach to establish the software certification basis and compliance means.
Given that the airborne software review is performed by people, the different working
experiences, backgrounds, and technical capabilities of the reviewers may lead to different
review conclusions.
18. International Journal of Software Engineering & Applications (IJSEA), Vol.13, No.1, January 2022
36
An in-depth software review can discover the holes existing in the design and potential risks of
the aircraft. This paper studied the technical focuses of airborne software review based on the
DO-178C software life cycle process and identified 82 technology aspects through analysis of
objectives and activities of each process. This paper also analysed the LOI impact factors of
airborne software SOI review and developed a set of Risk-based SOI reviews and sampling
strategy taking into account the applicable identified technologies and compliance objectives of
DO-178C by developing the PTC and TOC matrixes. The study of this paper will help NAAs to
maintain software expertise and formulate more effective software review procedures and
guidance documents, and carry out corresponding technical research to ensure aircraft safety by
conducting in-depth software reviews from a software certification perspective.
Due to the time constraints, the limitation of this study is that the analysis of the technology
focused on the software life cycle process and the research of software review and sampling
strategy in this research is based on Level A software, which is also the most severe safety level,
however, this study did not distinguish the application scope of different DALs.
In the research process of this project, it was found that an Objective-oriented SOI review method
based on DO-178C is meaningful. On the one hand, it is helpful for the software reviewers to
judge the compliance, on the other hand, it can provide effective assistance for the applicant to
demonstrate compliant evidence and perform software verification activities. Therefore it
demonstrated the necessity of a future study to explore the applicable technical focuses and SOI
review strategies for different DALs of airborne software based on each objective of DO-178C.
REFERENCES
[1] Anderson, L. et al., 2014. DO-178B/C Differences Tool. [Online] Available at:
https://www.faa.gov/aircraft/air_cert/design_approvals/air_software/media/differences_tool.pdf
[Accessed 7 Aug. 2020].
[2] Beautiful, I. i., 2015. Codebases. [Online] Available at:
https://informationisbeautiful.net/visualizations/million-lines-of-code/ [Accessed 8 Aug. 2020].
[3] Berk, R. E., 2009. An Analysis of Current Guidance in the Certification of Airborne Software,
Massachusetts: MASSACHUSETTS INSTITUTE OF TECHNOLOGY.
[4] Boeing, 2020. 737Max Software Update. [Online] Available at:
https://www.boeing.com/commercial/737max/737-max-software-updates.page [Accessed 25 10
2020].
[5] CAAC, 2000. AC-21-02, Beijing: CAAC.
[6] Cai, Y., 2020. CAAC SOI Review Policy [Interview] (20 Oct. 2020).
[7] Cai, Y. et al., 2013. Research on Airborne Software Airworthiness Standards DO-178B/C. 1st ed.
Shanghai: Shanghai Jiaotong University Press.
[8] CASA, 2011. Industry Delegates Management, Canberra: CASA.
[9] CASA, 2014. AC 21-50: Approval of software and electronic hardware parts, Canberra: CASA.
[10] CASA, 2019. Approved Design Organisations (Subpart 21.J). [Online] Available at:
https://www.casa.gov.au/licences-and-certification/aircraft-certification-and-design/approved-design-
organisations-subpart-21j [Accessed 19 Oct. 2020].
[11] CAST, 2002. CAST-10 "Literal" Interpretation of Decision Coverage Increases Rigor of Testing
Requirements. [Online] Available at: https://www.rapitasystems.com/blog/cast-10-literal-
interpretation-decision-coverage-increases-rigor-testing-requirements [Accessed 6 July 2020].
[12] Chen, Y., Yan, L. & Sun, J., 2015. Civil Aircraft Airborne Software Management. 1st 编辑 Beijing:
The Aviation Industry Press of China.
[13] COMMITTEE, T. H., 2020. FINAL COMMITTEE REPORT: THE DESIGN, DEVELOPMENT &
CERTIFICATION OF THE BOEING 737 MAX, USA: THE House COMMITTEE on
TRANSPORTATION AND INFRASTRUCTURE.
[14] Delange, J. et al., 2015. Evaluating and Mitigating the Impact of Complexity in Software Models,
Pittsburgh: Carnegie Mellon University.
[15] Dewalt, M. P., 1988. Comparison of FAA DO-178A and DOD-STD-2167A approaches to software
19. International Journal of Software Engineering & Applications (IJSEA), Vol.13, No.1, January 2022
37
certification. San Jose, 17 October 1988 - 20 October 1988 Digital Avionics Systems Conference.
[16] Dodd, I. & Habli, I., 2012. Safety certification of airborne software: An empirical study. Reliability
Engineering & System Safety, 98(1), pp. 7-23.
[17] EASA, 2012. EASA CM – SWCEH – 002 Issue: 01 Revision: 01 Software Aspects of Certification.
[Online] Available at: https://www.easa.europa.eu/sites/default/files/dfu/certification-docs-
certification-memorandum-EASA-CM-SWCEH-002-Issue-01-Rev-01-Software-Aspects-of-
Certification.pdf [Accessed 19 Oct. 2020].
[18] EASA, 2013. AMC 20-115C: Software Considerations for Certification of Airborne Systems and
Equipment, Cologne: EASA.
[19] EASA, 2017. AMC 20-115D: AIRBORNE SOFTWARE DEVELOPMENT ASSURANCE USING
EUROCAE ED-12 AND RTCA DO-178, Cologne: EASA.
[20] FAA, 1982. AC 20-115: Airborne Software Development Assurance Using EUROCAE ED-12 and
RTCA DO-178, Washington: FAA.
[21] FAA, 1988. AC 25.1309-1A: SYSTEM DESIGN AND ANALYSIS, Washington: FAA.
[22] FAA, 2003. FAA Order8110.49: SOFTWARE APPROVAL GUIDELINES. [Online]
Available at: https://www.faa.gov/documentLibrary/media/Order/FAA_Order_8110.49.pdf
[Accessed 19 Oct. 2020].
[23] FAA, 2004. Job Aid: Conducting Software Reviews Prior to Certification. [Online] Available at:
https://elsmar.com/elsmarqualityforum/attachments/jobaid-r1-1-pdf.14401/ [Accessed 19 Oct. 2020].
[24] FAA, 2007. 14 CFR § 25.1301 - Function and installation. [Online] Available at:
https://www.law.cornell.edu/cfr/text/14/25.1301 [Accessed 3 Oct. 2020].
[25] FAA, 2007. 14 CFR § 25.1309 - Equipment, systems, and installations.. [Online] Available at:
https://www.law.cornell.edu/cfr/text/14/25.1309 [Accessed 19 Sep. 2020].
[26] FAA, 2008. 14 CFR § 33.28 - Engine control systems. [Online] Available at:
https://www.law.cornell.edu/cfr/text/14/33.28 [Accessed 28 Aug. 2020].
[27] FAA, 2011. Order8110.49 Chg1: Software Approval Guidelines, Washington: FAA.
[28] FAA, 2013. AC20-115C: Airborne Software Assurance, Washington: FAA.
[29] FAA, 2017. AC 20-115D: Airborne Software Development Assurance Using EUROCAE ED-12( )
and RTCA DO-178( ), Washington: FAA.
[30] FAA, 2017. Airborne Software Development Assurance Using EUROCAE ED-12( ) and RTCA DO-
178( ). [Online] Available at:
https://www.faa.gov/regulations_policies/advisory_circulars/index.cfm/go/document.information/doc
umentID/1032046 [Accessed 19 10 2020].
[31] FAA, 2018. Order 8110.49 A: Software Approval Guidelines. [Online] Available at:
https://www.faa.gov/documentLibrary/media/Order/FAA_Order_8110.49A.pdf [Accessed 19 Oct.
2020].
[32] FAA, 2018. Order8110.49 A: Software Approval Guidelines, Washington: FAA.
[33] FAA, 2020. Certification Authorities Software Team (CAST). [Online] Available at:
https://www.faa.gov/aircraft/air_cert/design_approvals/air_software/cast/ [Accessed 10 9 2020].
[34] Hayhurst, K. J., Veerhusen, D. S., Chilenski, J. J. & Rierson, L. K., 2001. A Practical Tutorial on
Modified Condition/Decision Coverage, Hanover: NASA.
[35] Hilderman, V. & Baghai, T., 2007. Avionics Certification: A Complete Guide to DO-178 (Software),
DO-254 (Hardware). 1st ed. Covina: Avionics Communications, Incorporated.
[36] Hughes, W. J., 2016. Software Assurance Approaches, Considerations, and Limitations: Final Report,
Washington: FAA.
[37] ICAO, 2005. Annex 8: Airworthiness of Aircraft. 10th ed. s.l.: ICAO.
[38] Jimenez, J. A. et al., 2020. A Framework for Evaluating the Standards for the Production of Airborne
and Ground Traffic Management Software. IEEE Access, 8(1), pp. 142-161.
[39] LU, Y. et al., 2011. Coverage analysis of airborne software testing based on DO178B standard.
Procedia Engineering, I(17), pp. 480-488.
[40] Marques, J. & Yelisetty, S., 2019. AN ANALYSIS OF SOFTWARE REQUIREMENTS
SPECIFICATION CHARACTERISTICS IN REGULATED ENVIRONMENTS. International
Journal of Software Engineering & Applications (IJSEA), 10(6), pp. 1-15.
[41] McCormick, G., 2015. Certification of Civil Avionics. In: G. R. Spitzer, U. Ferrell & T. Ferrell, eds.
The Third Edition: Digital Avionics Handbook. Boca Raton: CRC Press LLC, p. Chapter 23.
[42] McCormick, G., Bryan, M. & DeWalt, P., 2009. Confusions of FAA Software Review Job Aid
[Interview] (12 3 2009).
20. International Journal of Software Engineering & Applications (IJSEA), Vol.13, No.1, January 2022
38
[43] Mendis, K. S., 2008. Software Safety and Its Relation to Software Quality Assurance. In: G. G.
Schulmeyer, ed. Handbook of Software Quality Assurance. Boston: ATECH HOUSE, p. 211.
[44] Rash, W., 2019. eWEEK. [Online] Available at: https://www.eweek.com/mobile/how-software-can-
make-an-airplane-crash [Accessed 30 July 2020].
[45] Rierson, . L., 2013. Developing Safety-Critical Software: A Practical Guide for Aviation Software
and DO-178C Compliance. 1 ed. Boca Raton: CRC Press.
[46] Romanski, G., 2001. The Challenges of Software Certification. [Online] Available at:
https://www.researchgate.net/publication/228778585_The_Challenges_of_Software_Certification
[Accessed 19 10 2020].
[47] RTCA, 1982. DO-178: Software Considerations in Airborne Systems and Equipment Certification,
Washington: RTCA.
[48] RTCA, 1985. DO-178A: Software Considerations in Airborne Systems and Equipment Certification,
Washington: RTCA.
[49] RTCA, 1992. DO-178B: Software Considerations in Airborne Systems and Equipment Certification,
Washington: RTCA.
[50] RTCA, 2011a. DO-178C: Software Considerations in Airborne Systems and Equipment Certification,
Washington: RTCA, Inc.
[51] RTCA, 2011b. DO-248C: Supporting Information for DO-178C and DO-278A, Washington: RTCA,
Inc.
[52] Squair, M. J., 2006. Issues in the Application of Software Safety Standards, Sydney: Australian
Computer Society, Inc.
[53] StClair, B. & Hillary, N., 2012. DO-178C: Improved certification for cost-effective avionics systems,
USA: LDRA.
[54] Sun, A., Cheng, W. & Wang, M., 2019. In: 1st, ed. System Safety. Beijing: China Civil Aviation
Publishing House, pp. 111-233.
[55] VanderLeest, S. H., 2013. Wikipedia. [Online] Available at: https://en.wikipedia.org/wiki/DO-
178C#/media/File:DO-178C_Traceability.png [Accessed 19 Oct. 2020].
[56] Wetherholt, M. J. & Penix, J., 2002. System Software Safety: Today's Practical Approach versus
Tomorrow's Promise. Noordwijk, ESA-NASA.
[57] Xing, L. & Mu, M., 2015. Research On Airworthiness Standard DO-178B/C′s Object Analysis and
Stage of Involvement Review in Airborne Software. Aeronautical Computing Technique, 45(5), pp.
97-101.
[58] Yanyun, W., 2016. Developing Safety-Critical Embedded Software under DO-178C. [Online]
Available at: https://etd.ohiolink.edu/!etd.send_file?accession=ucin1468575365&disposition=inline
[Accessed 12 Sep. 2020].
[59] Yelisetty, S., Marques, J. & Tasinaffo, P. M., 2015. A set of metrics to assess and monitor
compliance with RTCA DO-178C. 2015 IEEE/AIAA 34th Digital Avionics Systems Conference
(DASC), 10.1109(DASC.2015.7311644), pp. 1-18.