0% found this document useful (0 votes)
5 views2 pages

Debugging

The document discusses the complexities of debugging in software development, emphasizing its importance and the challenges posed by evolving software methodologies. It outlines a common lifecycle for program development, highlighting the use of data flow analysis to identify and correct bugs by comparing new code to existing reference versions. Additionally, it introduces 'Guard,' a distributed debugger that operates in heterogeneous environments, allowing users to manage multiple programs and assess their correctness against established versions.

Uploaded by

Nkuin Mbeng
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
5 views2 pages

Debugging

The document discusses the complexities of debugging in software development, emphasizing its importance and the challenges posed by evolving software methodologies. It outlines a common lifecycle for program development, highlighting the use of data flow analysis to identify and correct bugs by comparing new code to existing reference versions. Additionally, it introduces 'Guard,' a distributed debugger that operates in heterogeneous environments, allowing users to manage multiple programs and assess their correctness against established versions.

Uploaded by

Nkuin Mbeng
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 2

Debugging :

The high cost of software development in combination with advances in software engineering
has caused the emergence of software methodology base on evolution. Debugging is one of the most
important complex and time consuming task in software development . the IEEE standard glossary of
software engineering terminology , defines debugging as an operation to detect localize and correct
bugs in computer programs

3.2 HOW DO WE TEST AND DEBUG A BUGGY PROGRAM:

A common lifecycle for a program developing using evolutionary techniques as shown in the
figure below . it often begins as a small program for testing some basic functionality and design .It maybe
augmented and incrementally expanded into a large software system and some of the core algorithm
may even be altered . This type of modification can be attributed to changes in the functionality or
operation of a code thre program maybe converted for execution on different hardware and software
plartform and can even be written in another language allow it to take advantage of new hardware this
type of modification can be classified as mandatory wants

The most common techniques of testing program is to use the data flow of the code to locate
the point at which the datat structure in the nw program diverger from those in the existing one thus
existing code act as a reference version by defining a set of expectation in this way the user typically
works back to determine the last point at which the datav was correct by comparing data structure with
the reference version . once this point has been established most erros can be tracked quickly to a ssamll
section of faulty code and the roor can be corrected . debugging real programs using this technique and
currentl available tools can be tedious and error ………….. . typical output statements are placed
in both the reference and the debug code and the value are either compaired by visual operation or by a
file comparison program if the two program execute on different comtputer systems then the data must
be transfred bfor it can be compared

Relative debugger : Guard

3.3.1 Definition : Guard is a distributed debugger which operate in an open computing heterogerous
environment computing environment . That provid with the user with functionality to control more than
one program and to make assention about the correctness of a new program with refernec of an existing
one , consequently Guard the evolution of program because it acknowledges the existent version of
working version of the code figure 3.2 shows the the way Guard intreract with both the referecnce code
and the code being debug because Guard works with 3 different computer systems as shown in figure
3.2
Guard communicate with the program its controlling via a network and make use of special network
support libraries …… in the application

You might also like