Software debugging

woman
0 0
Read Time:1 Minute, 57 Second

Debugging refers to the process of getting software to function with the required characteristics in a given field of input data.

Debugging is not a kind of testing, although the words “debugging” and “testing” are often used synonymously. They mean different kinds of activities:

  • Testing is an activity designed to detect errors;
  • Debugging is aimed at finding the exact nature of a known error, and then – at correcting this error;
  • Test results are the initial data for debugging.

These two activities are very closely related and therefore they are usually considered together.

As a result of debugging, software must correspond to a certain fixed set of rules and quality parameters taken as a reference for it. In other words: debugging is a stage of development in which drawbacks of newly created software are eliminated.

The main task of debugging consists in completing the development of the whole software and bringing its characteristics up to the values specified by the requirements of the specification (requirements agreement). At that, software must guarantee the satisfaction of all the requirements not only within the range of typical conditions of its functioning but also at limiting and critical combinations of all the parameters. This provides reliability of software functioning under a variety of arbitrary, including distorted combinations of input data.

According to specialists’ estimations, in the total time of software development, debugging takes from 50% to 90% (it depends upon the results of the previous stages).

Debugging may be divided into syntactic and semantic.

Debugging of syntax is usually not difficult and only requires accuracy. The results of a syntactically correct program are compared with the test ones, their mismatch is a sign of a semantic error. This comparison must be done very thoroughly: even an extra space between two values can give a clue to find the error.

Unlike a syntax error, a semantic error is not formalizable and thus forms the basis for debugging.

Debugging of the ready part (branch) of software can be started earlier than the whole software product will be written, and as the result the time of software development reduces, i.e. it saves the calendar time of its development. Temporarily missing blocks are either left empty or replaced by printing a message stating that the software is not designed for such data, or temporary software stubs are written.

Happy
Happy
0 %
Sad
Sad
0 %
Excited
Excited
0 %
Sleepy
Sleepy
0 %
Angry
Angry
0 %
Surprise
Surprise
0 %