Software Failure Errors

software-error
Table of Contents

Task(a)

Causes of software errors

Introduction

Software projects that do not satisfy all of their criteria generally fail in some manner. These criteria can be the cost, schedule, quality, or requirements objectives. According to numerous research, the failure rate of software projects is from 50 percent and 80 %. Software error is a mistake, misconception, or misunderstanding on the part of a software developer. Software bugs are of numerous forms (Edwards, 2004). A bug is a bug no matter what. But sometimes, it is vital to comprehend the nature, its implications and the cause to absorb it better. This assists for faster reaction and most importantly, right reaction (Charette, 2005). In this article, we will be addressing typical sorts of software faults and how to discover them during testing with some examples and simple tasks. Let us start by defining software error and bugs.

Types of errors in software

1. Functional error

Functionality is the software’s ability to do a specific task. If anything you expect the software to do is difficult, unpleasant, confused, or impossible, it has a functional fault. This is a general term for software errors, which occur when the programmer does not perform as expected. An example of a functional error is when a user clicks the “Save” button but no data is saved. When a piece of software doesn’t perform as expected, it’s a functional error (Edwards, 2004). An example of a functionality issue would be if the minimise button on a piece of software really closes the programme (Beizer, 1995, p. 56). When a piece of software is utilised, its intended behaviour is specified by its own set of performance standards.

Example:

Software Failure Errors

Figure 1: Functional error example

The Cancel button should close the ‘Create new project’ window and no modifications should be recorded, as depicted in the figure above (i.e. no new project must be created). A functional issue occurs if the Cancel button cannot be clicked.

2. Communication error

These mistakes are made in the software’s communication with the user. All of the information that a user needs to know about the software should be displayed to them. There are a few examples of communication problems, such as – No Help instructions/menu, features that are part of the release but are not mentioned in the help menu, and so on. It is common for software and end user communication to go down, resulting in issues when using the product (J Demongeot, 2016). It is inevitable that communication problems will occur during the use of software that contains undocumented functionalities. Improper line conditions, such as static and noise, as well as call waiting on the recipient’s end, a lack of available remote memory, and power interruptions at either end, as well as incompatibility issues between the two machines, can all cause communication failures (T Chau, 2004).

There are some of the reasons of communication error:

  • Mistake by programmers

This is one of the most common causes of communication errors in software. Communication problems are not cases of malfunctioning, but of something else functioning as a result of the functionality symbol being misnamed (R Martinek, 2019). This occurs when programmers overlook name conventions, etc. Additionally, there are instances where the functionality is there in the software but its links or buttons are missing from the interfaces.

Example: A website with multiple pages must include HOME PAGE links on each of those pages. Now, owing to a programming or coding error, the link may be omitted from the page, and the user may be unable to access the homepage link on the page (Beizer, 1995). This is also a case of miscommunication.

  • Misnaming

Misnaming buttons, icons, and labels, for example, might also result in communication mistakes. Buttons should be identified or labelled according to the purpose they must perform.

For instance, the terms delete and remove do not have the same meaning. However, some programmers may believe that both are equivalent and may utilise their intuition, which may later mislead the end user (T Chau, 2004). Delete may refer to the process of entirely erasing a file from the system, while remove may refer to the process of erasing a file from a particular location.

3. Command missing error

This type of errors may put the user into a deadlock or confuse the user. For example, when a user just checks certain operations, without performing it actually, the user should be able to return to the original or the home screen. For example, when the user visits a page for creating an account, he or she may not be interested after seeing that too many fields to be filled for the account creation, and so, the user may be able to return back to the home screen and continue with the homepage only (JW Hardin, 2003). But if there is no Cancel button on the account creation page, the user will not be able to return to the home page and have to load the homepage again to get into the home page. This type of missing commands, buttons, icons from the screen is called the missing command errors.

Example:

Software Failure Errors 2

Figure 2: Command missing error

In the figure above the window enables the user to initiate the creation of a new project. However, the user does not have the option of exiting this window without creating the project. Because the user is not supplied with a ‘Cancel’ option/button, this is a missing command error.

4.Syntax error

Syntactic errors are misspelt words or grammatically wrong sentences that are particularly noticeable while testing software’s graphical user interface. Please keep in mind that we are NOT referring to coding problems. The compiler will notify the developer if there are any syntax mistakes in the code (DH Lee, 2018). When we talk about syntactic errors, we’re referring to typographical errors, grammatical errors, and so on. These are non-functional errors that can be quite costly when employed to conduct professional duties (Beizer, 1995). When software used in banks, hotels, and businesses is discovered to include syntactic problems, the company’s reputation is tarnished. Numerous factors can contribute to the introduction of communication errors. They are as follows:

  • When programmers use less-than-professional vocabulary.
  • When coding is completed in a hurry.
  • When there is no time for software cross-checking.
  • When a software application is released in many languages

Example:

SFE2

Figure 3: Spelling mistake error

SFE4

Figure 4: grammar mistake

5. Error Handling Errors

Any failures that arise during the user’s interaction with the software must be handled clearly and meaningfully. Otherwise, it is referred to as an Error Handling Error. Consider the following image. The error notice contains no information on the nature of the error. Is there a mandatory field that is missing, is there a saving issue, is there a page loading error, or is there a system fault? As a result, this is referred to as a ‘Error Handling Error’ (S Saha, 2013). Software is prone to errors, and software must deal with them. Either the software can handle it automatically in the background, such as changing the network, or it can prompt the user to take appropriate action via the interface.

This is a type of software error that occurs when the software is unable to address the error. This can be illustrated more clearly with an example.

Example:                                                                               

  • For instance, when an internal network issue occurs, the software should present the resulting implications in the software’s interface. While an error may occur in the software that cannot be avoided, the software should be capable of correctly handling the issue.
  • Consider another scenario in which the software may be lacking a critical module that is required for its operation. Now, when the user accesses the application interface, information about missing modules should be provided or, if the user continues, an ignore button should appear.
SFE5

Figure 5: Example 1: Error handling

In the above figure, If the software requires the user to complete specific mandatory fields before saving the information on a form, the validation messages should be clear and indicative of the action expected of the user.

SFE6

Figure 6: Example 2: Error handling error

SFE7

Figure 7: Example 3 : Error handling error

6. Calculation Error

A calculation error occurs when a data action goes wrong. Poor logic, an inaccurate calculation, a data type mismatch, code problems, function call flaws, and other causes can all result in these kinds of errors (M Nemoto, 2014). Software’s most serious flaws are those that arise from erroneous calculations. To put it another way, if you operate a piece of software with care and attention, there aren’t many problems, but this is not the case when it comes to calculating errors (S Saha, 2013).

It is possible for the software to generate calculation errors for many causes. According to the following,

  • Unskilled coding abilities
  • A lack of understanding of data types.
  • After completing the relevant functions or modules, there is no more cross-checking.
  • Including formulas for correcting errors in the code.
  • Calculation problems are difficult to detect since not all test cases fail in the software. Only a few of the most crucial test cases are likely to fail.
  • Incorrect reasoning
  • Formulas that don’t work correctly
  • Inconsistency in data types
  • An error in coding
  • There are problems with function calls.

Example:                                 

  • No two titles with spaces should be accepted by a program that accepts the input first name. Even so, if the spaces are included and the entire name is accepted, this does not meet the criteria for the first name field.
  • Mars Climate Orbiter was lost in 1999 due to a subcontractor’s usage of English units instead of the metric system, which resulted in the orbiter’s thrusters malfunctioning(DH Lee, 2018). When the orbiter landed to Mars, it crashed nearly immediately because of this bug.

7. Control flow error

A software’s control flow explains what it will do next and when. Errors in control flow are caused by external factors, such as a program’s execution being interrupted. Bit-flips may be introduced into a system’s hardware by these disturbances, such as electromagnetic radiation.

Example:

User options include: Save, Save and Close, and Cancel. For example, assume a system where a user must fill out a form. Save and Close should be a button that can be used to save and close a user’s information in a form when the user hits it (Charette, 2005). A control flow error occurs when clicking on the button does not result in the form being closed.

Task(b)

Groups responsible for errors

Introduction

Software failure can be caused by any broken or bugged software that causes faults in the system to occur. Software failures come in many shapes and sizes, and they affect us all in some manner. Everyone is harmed by software failures. In today’s environment, the repercussions of a software failure can be catastrophic (Charette, 2005). There are some certain groups which could be responsible for the software failure errors. Some of them are listed below:

  1. Client staff
  2. System analysts
  3. Programmers
  4. Testing staff

Tabular form

Errors

Client staff

Programmers

Testing staff

System analysts

Functional error

 

 

R(should test the software carefully)

 

Communication error

 

 

 

R(All the information was not displayed to the user)

Command missing error

 

 

R(the code was not tested carefully)

 

Control flow

 

R(coding mistake while adding iterations)

 

 

Calculation error

 

R(unskilled coding abilities)

 

 

Error handling error

R(Interaction between user and software was not handled carefully)

 

 

 

Syntax error

 

 

 

R(the system was not analyzed carefully)

References

Beizer, B. (1995). Black-box testing: techniques for functional testing of software and systems.

Charette, R. (2005). Why software fails [software failure]. IEEE spectrum. Retrieved from https://ieeexplore.ieee.org/abstract/document/1502528/

DH Lee, I. C. (2018). A software reliability model considering the syntax error in uncertainty environment, optimal release time, and sensitivity analysis. Applied sciences. Retrieved from https://www.mdpi.com/332616

Edwards, S. (2004). Using software testing to move students from trial-and-error to reflection-in-action. Proceedings of the 35th SIGCSE technical symposium. Retrieved from https://dl.acm.org/doi/abs/10.1145/971300.971312

J Demongeot, A. H. (2016). Relative-error prediction in nonparametric functional statistics: Theory and practice. Journal of Multivariate. Retrieved from https://www.sciencedirect.com/science/article/pii/S0047259X1500233X

JW Hardin, H. S. (2003). The regression-calibration method for fitting generalized linear models with additive measurement error. The Stata Journal. Retrieved from https://journals.sagepub.com/doi/abs/10.1177/1536867X0400300406

M Nemoto, T. Y. (2014). Development of automatic visceral fat volume calculation software for CT volume data. Retrieved from https://www.hindawi.com/journals/jobe/2014/495084/

R Martinek, L. D. (2019). Visible light communication system based on software defined radio: Performance study of intelligent transportation and indoor applications. Electronics. Retrieved from https://www.mdpi.com/445824

S Saha, J. L. (2013). Hector: Detecting resource-release omission faults in error-handling code for systems software. Retrieved from https://ieeexplore.ieee.org/abstract/document/6575307/

T Chau, F. M. (2004). Knowledge sharing in agile software teams. Logic versus approximation,. Retrieved from https://link.springer.com/chapter/10.1007/978-3-540-25967-1_12