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
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]
09063590000 (Country Code: +234)