SOFTWARE BUGS: DETECTION, ANALYSIS AND FIXING

Amount: ₦5,000.00 |

Format: Ms Word |

1-5 chapters |




ABSTRACT

This research workis concerned with the detection, analysis and fixing of software bugs. The objective of this work was to identify software development process with a focus of identifying cost effective methods of developing and managing software systems by introducing a post-deployment debugging approach which helps track software’s stability and at same time serve as a software   bug-data   repository.   To   achieve   this   objective,   a   web-based application –BugTracker was developed to manage software testing and post- deployment activities and at the same time serve as a bug-data repository. The proposed approach allowstesters and end-users of the system to report bugs which  the  developer  analyses  to  resolve  issues  and  thereafter  update  the program files with newly updated version.UML and Overview model were used in the analysis and design of the BugTracker while PHP, HTML, JavaScript and MySQL database were used as the technology for the implementation of the system.  Evaluation  and   testing  of  BugTracker  revealed  an   increase   in developer’s productivity, reduction in production cost and an increase in software’s stability. This research work reveals that it is possible to increase a software’s stability and reduce development cost if post-deployment activities are well managed.

CHAPTER ONE

INTRODUCTION

1.1   BACKGROUND OF STUDY

On the 4th of June 1996, the maiden flight of the Ariane 5 launcher ended in a failure. Only about 40  seconds after initiation of the flight sequence,  at an altitude of about 3700 m, the launcher veered off its flight path, broke up and exploded.  The failure of the  Ariane 5  was caused  by the complete loss of guidance and altitude information 37 seconds after start of the main engine ignition sequence (30 seconds after lift-off). This loss of information was due to specification and design error in the software of the Inertial Reference System of the launcher.

Software has become a key feature of a rapidly growing range of products and services  from  all  sectors  of  economic  activity.  Software-intensive  systems include large-scale heterogeneous systems, embedded systems for automotive applications,  telecommunications,  wireless  ad-hoc  systems,  business applications with an emphasis on web services, etc. Our daily lives depend on complex software-intensive systems, from banking to communications to transportation and even medicine. Software technology is a driving factor for many high-tech products; competence in software technology defines more and more the innovative capabilities of industries.

However,   few   people   would   argue   that   software   developed   in   most organizations today seldom is of high quality and unstable. There is always a communication gap between software developers and end-users of a software system;   this   leads   the   software   being   abandoned.   Also   due   to   this communication gap the software developers hardly get feedbacks from users of the systems and the few ones they get are hardly properly documented. There is

also  lack of software bug data repository which makes it difficult to make effective decisions on the improvement of the software development process.

To compensate for this lack of quality and stability, software developing organizations embraced four common approaches towards improving it. The first is to hire the best and brightest personnel to develop bug free software, although the criteria for selecting such personnel are hardly ever defined and it is quite impossible for an individual to develop a bug free system that meets the expectations of several users. Another is to reuse software instead of developing it anew. Unfortunately, few organizations have been able to develop general, reliable  software  that  can  be  reused  without  significant  modification.  Yet another scheme is to develop software at higher levels of abstractions. However, it is still rare to convince others of the wisdom of this approach in light of anticipated system performance penalties.

Therefore, the final approach is the one this research work would be analysing. It advocates the adoption of a post deployment method of analysing software bugs that  leads to  a  reduction  of  in  the  number of  software  bugs and  the variability  of  them  over  time  while  at  the  same  time  provide  a  bug-data repository which can be used to improve the software development process.

1.2   STATEMENT OF PROBLEM

      Users  when  purchasing  a  software  product  do  not  have  any  prior assessment of the quality of the software product.

      Aspiringsystem developers are not always able to learn from the software quality problems of previous developers

      Researchers on software quality have difficulty accessing the raw bug data of a software product

      The need for a repository to facilitate easy tracking and correction of errors

1.3   OBJECTIVES

The objectives of this study is to develop an application that would:

   enable users and testers to report bugs

      bridge the communication gap between developers, testers and end-users of software systems

   provide a software bug repository for researchers and developers,

1.4   SIGNIFICANCE

The significance of this research work is that it helps to identify cost effective- methods of developing and managing software bugs. The combined benefit of such a software bug detection methodology would be significant because defect detection and correction activities consume about fifty percent of the labour to create software systems and as much as seventy-five percent of the total software’s life cycle costs.This would lead to an increase in profit made from systems as there would be a reduction in costs incurred as a result of bugs in software systems.

The BugTracker to be developed at the end of this research would serve as bug data repository which can be used both by developers and software quality researchers  to  track  bugs,  predict  and  correct  potential  bugs  before  they manifest thereby increasing productivity.This is significant as it facilitates the formulation of more effective methods of managing the software development process.

To the society it provides product reliability information to potential buyers of the software system thereby increasing the confidence of users in a software product. This help them predict potential problems a software system is likely to encounter during usage and the means of resolving/managingsuch.

1.5   SCOPE

The scope of this work is the development of a web based bug tracking system for managing software in various software development organizations while at the same time providing a software bug data repository for researchers and other developers to analyse and learn from.

1.6 LIMITATIONS

The major problem we had was lack of comprehensive software development data, this is because the Nigerian software development industry is just developing with most of them being small scale, with very few developers on board. They hardly adhered to a strict software development process, all they were interested in was that the software was running without any documentation on steps taken.

1.7   DEFINITION OF TERMS

Bugs: this are errors or defects in a software system.

Software: this is a collection of executable codes performing a specific function. Coding: The Conversion of design into an actual executable program.

Data Flow Analysis: Technique for gathering information about the possible set of values calculated at various points in a computer program.

Debugging: how bugs are removed from software.

Defect Classification: Categorizations of faults in code often based on details of implementation.

Defect Origins: The first activity in the lifecycle where the defect could have been prevented (not where it was found).

Defect: Error or inconsistency in a software system.

Documentation: Descriptive information that portrays the use and/or operations of the software.

Dynamic analysis: Examination of software’s behaviour during execution. ODC: Orthogonal Defect Classification.

Software Testing: It is used to determine the correctness, completeness and quality of a developed computer software. Static Analysis: analysis of software without exec



This material content is developed to serve as a GUIDE for students to conduct academic research


SOFTWARE BUGS: DETECTION, ANALYSIS AND FIXING

NOT THE TOPIC YOU ARE LOOKING FOR?



A1Project Hub Support Team Are Always (24/7) Online To Help You With Your Project

Chat Us on WhatsApp » 09063590000

DO YOU NEED CLARIFICATION? CALL OUR HELP DESK:

  09063590000 (Country Code: +234)
 
YOU CAN REACH OUR SUPPORT TEAM VIA MAIL: [email protected]


Related Project Topics :

Choose Project Department