Abstract |
: |
This paper discusses debugging and runtime analysis of software and outlines its enormous benefits to software developers and testers. A debugger is usually quite helpful in tracking down many logic problems. However, even with the most advanced debugger at your disposal, it doesn't guarantee that it will be a straightforward task to rid your program of bugs. Debugging techniques might help you in your task of flushing errors out of your program. Some of these will directly involve the debugger but many of them won't. The hope is to add to your debugging repertoire in order to assist your personal debugging quests when things go strangely wrong. Testing is more than just debugging. Testing is not only used to locate defects and correct them. It is also used in validation, verification process, and reliability measurement. Testing is expensive. Automation is a good way to cut down cost and time.When we write software applications, we need to debug them. Software Testing provides an objective, independent view of the software to allow the business to appreciate and understand the risks at implementation of the software. A primary purpose for testing is to detect software failures so that defects may be uncovered and corrected. This is a non-trivial pursuit. Testing cannot establish that a product functions properly under all conditions but can only establish that it does not function properly under specific conditions. Program testing and fault detection can be aided significantly by testing tools and debuggers. Testing and debug tools include features such as program monitors, permitting full or partial monitoring of program code including instruction set simulator, permitting complete instruction level monitoring and trace facilities, program animation, permitting step-by-step execution and conditional breakpoint at source level or in machine code, code coverage reports, formatted dump or symbolic debugging tools allowing inspection of program variables on error or at chosen points. Automated functional GUI testing tools are used to repeat system-level tests through the GUI, benchmarks, allowing run-time performance comparisons to be made, performance analysis that can help to highlight hot spots and resource usage. A runtime tool will allow you to examine the application internals after the run via the recorded runtime analysis data. Runtime analysis removes the guesswork from debugging. It helps to uncover Memory corruption detection, Memory leak detection etc. Runtime analysis is an effort aimed at understanding software component behavior by using data collection during the execution of the component. Run-time analysis is a topic of great interest in Computer Science. A program can take seconds, hours or even years to finish executing, depending on various parameters.
|