Wait a second!
More handpicked essays just for you.
More handpicked essays just for you.
Analysis of factors contributing to software reliability
Don’t take our word for it - see why 10 million students trust us with their essay needs.
In our modern society, software has become a very critical component in all kinds of systems and software failures have become the most vital factor that terminates the service and proper function of the whole system. Therefore, it is very important and urgent to understand the software development process and eliminate as many potential problems in software as possible.
Software reliability is defined as the probability of failure-free software operation for a specified period of time in a specified environment.
The determination of software reliability indices is the primary task in the software reliability engineering. The indices are taken as not only the basis for the software reliability design and the constraints during the software development process, but also the foundation of the software’s acceptance.
Software reliability indices are usually divided into Quantitative Indices and Qualitative Indices.
Quantitative indices are quantified software reliability parameters’ values, such as software reliability is quantitatively defined as the probability of failure free operation of a software program for a specified time under specified conditions. However, having a “number”, even with the appropriate accompanying evidence, is not generally sufficient to convince customers or even the system/software suppliers that the software satisfies its requirements. Thus, qualitative indices such as software reliability is also qualitatively defined as a set of attributes that bear on the capability of software to maintain its level of performance under stated conditions for a stated period of time.
A Study method for determining the software reliability qualitative indices based on the two standards of SAE-JA1003 and RTCA D...
... middle of paper ...
...chapter 18.
3. C. Akalya devi, K. E. Kannammal and B. Surendiran, A Hybrid Feature Selection Model For Software Fault Prediction, International Journal on Computational Sciences & Applications (IJCSA) Vol2, No.2, April 2012,
4. J.D. Musa, Anthony Iannino and Kazuhira Okumoto, Software reliability: measurement, prediction, application, New York: McGraw-Hill, 1987
5. GJB 1909.1-1994, The general principle of parameters selection on Equipment reliability, maintainability and indices determination requirements. Beijing: Defense Science, Technology and Industry Committee, 1994.
6. M.Y. LU , “Study on Software Reliability Parameters”, Journal of Beijing University Of Aeronautics And Astronautics, 2001, vol. 27, no. 2, pp.241-244,
7. Xuemei Zhang, Hoang Pham, An analysis of factors affecting software reliability, The Journal of Systems and Software 50 (2000).
National Institute of Standards and Technology (NIST): Risk Management Guide for Information Technology Systems. Special Publication 800-30, 2002.
The Software Development Life Cycle is seldom used at my place of work. Unfortunately, recent developments in its use are deemed confidential. Due to this fact, this paper will examine in general terms one of the projects we are undertaking right now while at the same time attempting to maintain our confidentiality.
Fault tolerance is the property that enables a system to continue operating properly in the event of a failure.
CVSS, or Common Vulnerability Scoring System, provides a method for assessing and prioritizing previously unknown vulnerabilities in an application’s code that have been identified for IT management to address (Scarfone & Mell, 2007). CCSS, or Common Configuration Scoring System, is based off of using similar metrics to CVSS but is focused on known vulnerabilities based upon decisions regarding security configurations of the program.
ISO/IEC 12207 is an international standard for software life-cycle processes. It aims to be the standard that defines all the tasks required for developing and maintaining software.
Maintenance may be corrective, adaptive, perfective or preventive maintenance, depending on the situation and software. The maintenance may be a routine maintenance to address an error or it could be larger scale maintenance to keep the software up-to date. Operating systems upgrade over time and hardware keeps changing. At the same time software needs to be upgraded to keep it functional. However, sometimes the structure of the software does not allow these maintenances to be done. Different maintenances done to software may also decay the software structure. More and more maintenances are done which may decrease the software structure. At some point this will become too complicated and uneconomic to maintain and it is better to replace the system. (Tutorialspoint 2015; Carl
As a result a huge number of organisations have become software dependent. Some of these systems are used to safeguard the lives of many people. This means that if these systems were to fail they could lead to devastating consequences. Here are some examples of where software systems are used heavily and could be very dangerous if they were to fail - aviation, hospitals, space exploration, nuclear power stations and communications. I will be looking at some examples of actual software failure in these fields to explain the reasons why systems fail.2.0 Reasons for Systems FailureIf software systems failure can be so dangerous why can they not be completely eliminated? According to Parnas, "The main reason is that software can never be guaranteed to be 100% reliable.
While developing a software many complex activities are required which in turn have dependencies along them. Large software projects require the involvement of programmers, documentation specialists, program managers, architects, database analysts, system analysts, , and trainers and last but not the least testers. Along with their independent responsibilities these persons are also responsible to maintain and keep a check on the software system quality as well.
[23] Anderson, David. (2003,2008). White paper: Red Hat Crash Utility. Redhat Software Inc. [Online] Available: http://people.redhat.com/anderson/crash_whitepaper/
For one, the most important issue that I saw was that 3 of the 7 variables which could produce operand errors were unprotected. In the report, the groups found that it produced a high margin of safety. However, this shouldn’t be assumed like this. A high margin of safety still has a certain marginal chance of fault. This needs to be compensated for in the event that it does fail (as it did).
Winter, M. W. (1995). Software fault tree analysis of an automated control system device written in ada. (Master’s thesis, Naval Postgraduate School, Monterey, CA). Retrieved from http://handle.dtic.mil/100.2/ADA303377
In order to make useful, there are some characteristics such as being practical and dependable. As a dependable for it must be acurate, unbiased and verifiable and practically accounting information must be compareable, prepared in a time frame, user friendly, consistent and able to differentiate.
SYLLABUS: Introduction – What is software architecture? – Standard Definitions – Architectural structures – Influence of software architecture on organization-both business and technical – Architecture Business Cycle- Introduction – Functional requirements – Technical constraints – Quality Attributes.
Requirements engineering begins during the communication activity, continues into the modeling activity, and builds a bridge from the system requirements into software design and construction. Through requirements engineering, there is an examination of the context of software work performed. It is essential for the software engineering team to understand all requirements of a problem before the team tries to solve the problem. An identification of specific needs that the design and construction must address is also included. Further is a need for the identification of the priorities that guides the order for the completion of work. This i...
Study of Literature for related work is the most important step in software development process. Before designing and developing the tool it is necessary to determine the time factor, the economy and company strength. Considering the importance of software reliability in software engineering, its prediction becomes a very fundamental issue. Machine learning and soft computing techniques have been leading the statistical techniques in last two decades as far as their applications to software engineering are concerned. The most recent research work carried out for predicting software reliability was Hybrid intelligent systems for predicting software reliability [1] Mohanty et al. (2013). The author has employed recurring architecture for Genetic Programming and Group Method of Data Handling (GMDH) and also collaborative models involving GP, GMDH as constituents and GP, GMDH, BPNN and Average as arbitrators in predicting software reliability. Another state-of-the-art review [2] Mohanty et al. (2010) validates the affirmation. The techniques that were employed by the authors were machin...