官术网_书友最值得收藏!

Software defects

Key to the correctness aspect of V&V is the concept of software defects. The term defect (also known as bug) refers to a generic software problem. The IEEE Standard 610.12 propose the following taxonomy related to software defects:

  • Error: A human action that produces an incorrect result. Errors can be classified into two categories:
    1. Syntax error (program statement that violates one or more rules of the language in which it is written).
    2. Logic error (incorrect data fields, out-of-range terms, or invalid combinations).
  • Fault: The manifestation of an error in the software system is known as a fault. For example, an incorrect step, process, or data definition.
  • Failure: The inability of the software system to perform its required functions is known as (system) failure.
The term bug was first coined in 1946 by the software pioneer Grace Hooper, when a moth trapped in rely of an electromechanical computer caused a system malfunction. In this decade, the term debug was also introduced, as the process of detecting and correcting defects in a system.

In addition to this level of granularity for defects, it is also interesting to contemplate incidences as symptoms associated with a failure perceived by the software consumer. All in all, error, faults, failures, and incidences are different aspects of software defects. A causal relation exists between these four aspects of defects. Errors may cause faults to be injected into the software, and faults may cause failures when the software is executed. Finally, incidences happen when failures are experienced by the final user or costumer. Different QA activities can be carried out to try to minimize the number of defects within a software system. As defined by Jeff Tian in his book Software Quality Engineering (2005), the alternatives can be grouped into the following three generic categories:

  • Defect prevention through error removal: For example, the use of certain processes and product standards can help to minimize the injection certain kinds of faults into the software.
  • Defect reduction through fault detection and removal: The traditional testing and static analysis activities are examples of this category. We discover the specific types of these mechanisms in the body of this chapter.
  • Defect containment through failure prevention: These activities are typically out of the scope of the software system. The objective of containment is to minimize the damage caused by software system failures (for example, walls to contain radioactive material in case of reactor failures).
Software defect chain and associated QA activities
主站蜘蛛池模板: 苏尼特右旗| 苏尼特右旗| 敖汉旗| 翁牛特旗| 吉林省| 大埔县| 喀喇| 阳信县| 申扎县| 安陆市| 涡阳县| 莆田市| 石河子市| 六枝特区| 东台市| 拜泉县| 青神县| 宁都县| 新巴尔虎右旗| 磐石市| 白水县| 雅江县| 民勤县| 大丰市| 黄冈市| 新津县| 越西县| 子长县| 景洪市| 丹寨县| 齐齐哈尔市| 云安县| 乌兰察布市| 峨边| 萨嘎县| 临沧市| 奈曼旗| 南郑县| 海晏县| 乌拉特前旗| 马鞍山市|