The system which enables to detect the defect or bugs is known as Defect tracking system. It is also referred as bug tracking system. This system not only detects the bugs but also provides complete information about the detected bugs. The use of bug tracking systems as a tool to manage maintenance activities is extensive in which the systems serve as a central repository for monitoring the progress of bug reports, requesting additional information from reporters, and discussing potential solutions for fixing the bug(Zimmermann et al, 2007). The main advantage of a bug-tracking system is that it provides a clear centralized overview of development requests including bugs and improvements, and their state. During defining the product roadmap, the valuable input is provided by prioritized list of pending.
The information provided in bug reports is used by developers to identify the cause of defect and narrow down the reasonable files that need fixing. According to the customer requirements, the developers develop the project. The quality checker identifies the bugs during the testing phase. When ‘n’ number of bugs is encountered, then tester adds the bug id and information in the database. The quality checker reports to both developer and project manager. For both the developer and project manager, the bug details in the database table are accessible. Many bug-tracking systems like which are used by most open source software projects, allow users to enter bug reports directly, whereas other systems are used only internally in a company or organization doing software development. Usually, bug tracking systems are integrated with other software project management applications. Bud tracking system is essential in software development and they are used widely by companies developing software products. In a corporate environment, a bug-tracking system is used for generating reports on the productivity of programmers at fixing bugs. Sometimes, this yields inaccurate results as different bugs may have different levels of severity and complexity. The severity of a bug is not directly related to the complexity of fixing the bug.
According to Bettenburg et al, 2008 “A survey conducted amongst developers from the APACHE, ECLIPSE, and MOZILLA projects found out which information items are considered useful to help resolve bugs and found that items such as stack traces, steps to reproduce, observed and expected behavior, test cases, and screenshots ranked high on the list of preferred information by developers”. Breu et al (2009) suggest that “previous research has shown that reporters often omit these important items and developers are then forced to actively solicit information from reporters and, depending on their responsiveness, this may stall development.” This affects the bug fixing mechanism as the bugs take long time to be fixed. This results in the gathering of unresolved bugs in the databases.
The main reason for this is that most bug tracking systems today have ended up by just becoming a complex search engine with too big databases of reported bugs but do not help in any way is resolving a bug. Due to this, the work of the developers is more difficult as resolving the bug is limited to the prior experience of the developer which may or may not be sufficient in resolving the bug on his own. Also, the tracking becomes more difficult because of the bugs. The situation may go worse if the developer is working n multiple projects. Since most of the current systems have too many complex interfaces and roles and limited access, tracking and fixing bugs became a difficult job for the developers today.
The aim of this research is to study the bug and the mechanisms to resolve and its life cycle in which it is determined how the bug arises and its consequences.
- What is a bug and how to evaluate the origin of it and its effect on normal flow of software?
- How to determine the complete life cycle of a bug and its flow from one stage to another?
- How track all the raised bugs and find a solution to them through automated software tools?
- What are the different software tools available in the market and the variation among them?
The metric used for verification signoff is referred as “Bug tracking”. An automated bug tracking tool is required to keep track of various bugs raised and resolved. The bug tracking tools makes it simpler for analyzing the progress using metrics and reports. Best bug tracking tool should be selected in order to fulfill the requirements. Freeware bug tracking tools takes long time to set up, and are not user friendly or supported. Bugzilla bug tracking database, GNATs bug database, Debian bug tracking system are such bug tracking tools. Some special often used features are present in expensive bug tracking tools which are not worth of cost. Bug tracking software cost varies from free to thousands of dollars. Now, bug tracking systems which are web-based and require no installation of client software are available. Whereas old bug tracking systems are client based, requires client server installation and each user needs to install client software. If various users are located at distant places and are connected through internet web based, then bug tracking is the best solution (Leena Singh, Leonard Drucker, Neyaz Khan, 2004).
The information recorded by a Bug Tracking System mainly depends on system, organizational necessities and its design. Bug Tracking System allows a defect it is named as priority. But some of the systems support both severity and priority. In this Priority of a defect is frequently based on business reasons and not technical reasons (Karl Eugen Kurbel, 2008). In Bug Tracking system we will keep track of the bugs initiate by our authentication system. We can obtain the Bug Tracking System for free of cost or we can purchase. Bug tracking system shows the feedback mechanism when we have design it and this information will be useful (Peet James, 2004).
Bug tracking tools:-
There are a number of ways to keep track of software bugs from spreadsheet based schemes or informal email to expensive third party bug tracking software. The best solution for organization depends on the size of the group, level of formality around bug fixing, nature of the software (Nicholas A. Solter, Scott J. Kleper, 2005)
Some of the features of bug tracking tools are as follows:
- Browsers which are being used should be supported by web based bug tracking system. Since mostly free bug systems are Linux based, they do not work well with Windows.
- Bug tracking system should be robust, lightweight and fast.
- Should have minimal system requirements and maintenance.
- Should be easily installed and efficient to use.
- Should be platform independent and database system independent.
- File attachment should be supported.
Multiple projects and access control should be supported (Leena Singh, Leonard Drucker, Neyaz Khan, 2004)
The popular free tool for bug tracking is Bugzilla which is written by the authors of Mozilla web browser. A number of useful features are accumulated by Bugzilla. Some of the features are as follows:
- Customizable settings for a bug, including its status, priority, associated component and so on.
- Notifications of new bug reports or changes to an existing report through email.
- Reporting and searching tools
- For filling and updating bugs, a web based interface is required.
For a professional software development environment, bug tracking tools like Mozilla are becoming vital components. Records of previous bugs and their fixes are provided by bug tracking tools in addition to a central list of currently open bugs. Bugzilla is used by a support engineer to search for a problem similar to one reported by a customer (Nicholas A. Solter, Scott J. Kleper, 2005).
Uses of bug tracking:-
An effective bug tracking system is important for quick design of complex blocks and systems. A central database which collects all the known bugs and desired enhancements allows the whole team to know the state of the design and prevents designers from debugging the known problems several times. It also makes sure that known problems are not forgotten.
Bug rate tracking is another main use for bug tracking. In most projects, a well defined curve is followed by the bug rate reaching peak value early in the integration phase and declining as testing becomes tougher. The most effective testing and debug strategy for any phase of the project can be defined by the current bug rate and position on the curve. When integration begins, then usually formal bug tracking also begins, that is when the work of two or more designers is combined in to a larger block. At all stages of design, some form of bug tracking is required (Pierre Bricaud, 2002).
Bug Tracking Software:-
When we are reinventing the wheel or starting development of a particular thing” Tools” should be the used. So many web application development teams use large number of Bug tracking and management systems they are already available. By using these tools we can meet your needs as flexible. In this we are select some tools and they are written in the same language as our application and we are storing their data in the same backend database. By doing this customization and incorporation of our work should be easy (Cal Henderson, 2006).
In this we will examine the popular choice and compare the main features they are offering. Commercial Bug Tracking software is very expensive. Spending a lot of money on development tools is not a good idea. Many Bug Tracking Tools are available. They are
- Fogbugz Bug Tracker
- Mantis Bug Tracker
- Request Tracker
Fogbugz Bug Tracker:-
Fogbugz (http://www.fogcreek.com/fogbugz/) is a Bug tracking and simple project management tool created by Fog Creek software. In this Fogbugz Bug tracking tool there are two versions available for writing, one for windows/Unix/Os X using PHP and another for windows server using Asp. Unix/Os X version stores its data using MYSQL, while windows can store its data in either jet, SQL Server (Cal Henderson, 2006).
- It is very simple to use
- It has good support because it is an actively developed product
For our own applications we are using My Sql is the backend for storage it allows easy integration.
- Fogbugz is not free software for small teams the costs between $100 and $130 per developer.
- In this advanced features are deficient.
Mantis Bug Tracker:-
Mantis Bug Tracker (http://www.mantisbt.org/) is an Open source Bug tracking application. And this is written in PHP and sores its issue data using My Sql by using an experimental support of Postgre SQL. This product is wide and active for user base and active developers.
- It is very easy to install. In this Installation script will be simple.
- In this we are written our application in PHP and that stores its issues by using MYSQL so Integration and modification of our application will be easy.
- In this we have Active developer community.
- In this there are few features not as many features like as Bugzilla or RT (Cal Henderson, 2006)
Request Tracker (RT):-
Request Tracker (http://www.bestpractical.com/rt/) was created in 1996 by Best practical solutions. In this we are writing the issues in Perl, and stores the issues in either Oracle or Mysql ,PostgresSQL. RT supports more databases. Request Tracker is designed mainly to handle the issues initiate of the users and by using this issues we can easily entered into the system through email and the system acts as log of email conversations between the issue administrator and the user.
- For crating issues there is a good Email support.
- In this we are using so many variety of databases for storage the issues , so it is easy to integrate with our application
- In this we are using Email-oriented approach for creating an issues it is well suited for users reporting problems, but not it is good in Bug tracking development issues.
- In this Interfaces are designed by programmers and they provide huge number of features but it is difficult to implement them.
In 1998 Bugzilla (http://www.bugzilla.org/) was introduced by the people at the Mozilla foundation. Bugzilla using MYSQL for its storage and write the issues in Perl, and even though PostgreSql is also used for storage. Bugzilla is a highly active developer community and it is established product with lot of features (Cal Henderson, 2006).
- It has many features. In this we are using MySql for storage by this linkage will be directly into our application.
- With dynamic developer base it is well tested (Cal Henderson, 2006).
The Life Cycle of a Bug:-
Bugs will occur in software both before and after its release in engineering groups. There are number of ways to deal these problems. In this process bug is always filled by member of QA team. In this the development manager gets the notification from the bug reporting software. And in this development manager sets the priority to the bug and assigns the bug to the particular module owner. In this the module owner can accept the bug and give it to the development manager. Once the bug is found its rightful owner and the developer symbols the bug is fixed (Nicholas A. Solter, Scott J. Kleper, 2005). The bug is assigned to the developers by the Development TL and translates that bug into assigned status. The Development Team Leader is responsible for allocating tasks, planning and he has a broad view in all the factors and he is responsible for allocating the resources for Bug fixing. The bug is fixed and the Unit testing is performed on the particular bug. Thus the bug is translated into resolved status. Then the original finder tester re-tests the bug fix, to make sure that it is completely fix. The Testing Team Leader translates the bug into concluded status and this takes the bug life cycle to end. After that, it has a successful initial implementation, enhancement tend to turn up into an idle stage (Jyrki Kontio, Reidar Conradi, 2002).
Bug Tracking Annoyances:-
In Bug Tracking System we are facing so many problems apart from of which system is used. In this section we are discussing some of the annoyances
In this we have very simple values for Bug’s information. They are a string of text is used to describe to bug or a problem, the name of the person assigned to a bug. In this the field holds only one value at a time, and those things are very simple. In this when one field can have various values at the same time every one becomes more complex. In this we have to possible we are avoiding the fields with multiple values .By avoiding these multiple values for a fields they tend to make writing useful information much harder. We are imagining a Bug Tracking Tool which contains only three fields in its bugs. They are Owner, Description, and Product. In this Owner is a single value field. That means only one person owns a bug at a time. Description is a text string. And the Product is the multi valued fields; it represents special products that are exaggerated by a bug (Matthew B. Doar, 2005).
One Bug, Multiple Releases:-
A Bug is a group of various Releases that the bug exists in. In this Bug Tracking System it is the simplest way to deal the bug is abscond the information about the affected releases. We are maintaining a Spreadsheet for each and every Release and it is easy to organize with the development team for identifying where the bug is fixed. This approach is tiresome and make flat to error. But it is common on smaller projects.
Another approach for handle a bug is to prepare two copies of an original bug and we are changing the value for the release found in each of the two bugs. In this Bug Tracking System each of the copies will have its own unique bug identifier. This approach is very useful we know the bug count for each and every release. And some of the Bug Tracking Systems support duplicating bugs mostly. In this Bug Tracking System disadvantage is information will regularly be added to just one copy and not the others. The main disadvantage is that developers, customers and product managers locate it difficult to maintain which bug is fixed in which release. In some of the Bug Tracking Tools maintain to support adding multiple releases for a bug. But their reports are not robust as might be expected when we are using the multiple release values. Keeping track of Bugs in multiple releases of a product it is hard to automatically and not suit in existing Bug Tracking Tools (Matthew B. Doar, 2005).
In this we have fields for many bugs to indicate how severe the bug is. One common series of values goes like this: Severity one means “The bug stops the product, and no workaround is possible”; Severity two is “Workaround is possible and the bug stops the product”. In severity three and 4 “The bug breaks a minor part of the product” and “The bug makes impatience. ”
A severity field is often more flat to distortion than for internal use for customers. When we are changing the value of a customer’s severity field it occurs a problem. If you are increasing the severity, the customer is worried whether the problem is superior issue. When you are decreasing the severity, then we have to minimize our stress.
Customizing the Bug Tracking System:-
One common customization is changing the state of a bug in order to make them better to fit in the projects presented workflow. The administrator of the system changes the name of the name of the system for each field (Matthew B. Doar, 2005).
Research method and research methodology:-
The researches that are conducted by the researchers adopted various methodologies above lots of existence which depend basically on their models or examples of thinking (Paradigm) on how they analysis the humanity (Ontology) and the manner they gain the information (epistemology). Basically, for conducting IS researches there are three types of paradigms are present namely:
1) POSITIVIST (the scientific method):-
The reasons as a way of considerations for the human actions and the philosophical thoughts of French philosopher August Comte, who emphasized the observations and was based by the positive paradigm of exploring social reality. The intelligence of proper understanding and experience can be obtained by the estimation of the positivism researchers and it is based by the research and observation, this is inside the framework of the supposition and main beliefs of science.
Positivist is the existed technique of IS research discovered from the work of Newton, Bacon, and Galileo. This variety of explore advocate quantitative modelling, laboratory experiment and empirical survey are the honourable methods of IS research. There are two crucial assumptions in this process:
- Our world is normal and controlled not indiscriminate.
- We can examine it neutrally.
The fundamental techniques of this method embrace the following:
Reductionism: Breaking down of intricate belongings into less significant pieces for research work.
Repeatability: Research troubles/Assumptions are conducted in multiples, frequently by special persons in order to prove the dependability of the consequences.
Reputation: In this advance research the results are redundant if the end result of the researchers might not prove the unusual result. It is relatable to point out that positivist researchers who apply other research strategies when the scientific scheme is not squashy preferred results (Oates, 2006, 286). Thus what amalgamate positivist researchers is the shared observation that;
- The globe exists in competition of humans.
- Modeling and Measurement.
Objectivity: Impartial Observer and Neutral.
Quantitative data analysis: The use of arithmetic and statistics in analyzing information.
Universal laws: The fact natural history of research and capability to oversimplify.
These positivists consider of habitually American IS researchers were contested at a seminar in Manchester in 1994 by the greater part of their European generations, (Avgerou, 2000). They however proposed the use of qualitative methods, such as case study, survey research as equally valid methods of research. Some of their criticism includes:
- Reduction: It is not always probable to accomplish desired consequences by breaking down the things. For example most commercial organizations required to be premeditated as a complete to achieve the immense picture of effects.
- Repetition: It is extremely complex to replicate a meticulous research accurately because of definite human changes and or surroundings.
- Generalization: It is completely prejudiced to oversimplify human being performance/views because people are produced in a different way, special conditions and atmosphere. For example the How thorn distress theory where employers preceded in their own ways at different social locations. Nation too has different views/perceptions regarding the humanity.
By giving meaning to this social authenticity is interpreted and viewed by the personality herself according to ideological situation she posses. For that reason awareness is individually qualified relatively than acquired obligatory from outer surface. “Computing and Interpretive research in IS, is distressed with consideration of the social circumstance of an information system: the social procedure through which it’s developed, construed by the people in the course of which it influences and its influenced by its social setting”. (Oates, 2006, pg 292)
Interpretive tries to survey, recognize and explains how the entire factors in a particular social settings which are autonomous and correlated to one another which is overlooked stubbornness by negative or appreciative an nearly known result, (e.g. hypothesis-all human beings have special manner of thinking). The plan is to produce an affluent accepting of a reflexively exclusive context and a structured invention of how human agents create good judgment of their superficial earth and how those perceptions modify ultimately and change from group or person to one more. Interpretivists distribute the subsequent characteristics:
- Multiple subjective realities: No solo report of the fact; differences in individual perceptions/beliefs, environmental power, communal and oddity in positions resolute what public take to be “comprehensive” or “right or wrong”, “genuine”. For example, sex edification would entirely be discarded as bad education, would be taken as a pasture of study in open-minded/societies socialist and gibberish in a severely religious society.
- Dynamic, socially constructed meaning: Knowledge, authenticity, right or wrong can simply be transmitted and accessed all the way through nevertheless another social medium, e.g. verbal communication.
- Researcher reflexivity: Researchers figure the research method with their own assumptions, principles, events and values.
- Trustworthiness: There is no sureness of the research’s authority.
- Conformability: Results of the research are additionally subjected to review check and the auditor also place himself into the unusual researcher’s shoe.
- Dependability: Questions of accurate certification and recording of the research procedure are for all period being asked.
- Credibility: Ambiguity in the sources of information, precision and explanation
- Transferability: The individuality scenery of examine subjects and situations rises the problem of transferability.
Jergen Habermas is the central protagonist of this theory who worked at the Frankfort school in Germany to increase an approach of investigation and achievement of social sciences which could express the historical services that limit human autonomy and representation the ideological explanation for those services. Dangerous researchers promote self-determination and broadmindedness in doing research. They coincide with the interpretivist which believes that social actuality is formed by public. Still, they argued that flush in social reality situation, definite services such as widespread economic situations; cultural and political ability tends to manipulate the people perceptions and believes. They disparage the interpretive for weakening to examine the patterns of authority and organize that normalize and legitimize meticulous ways of considering our planet.
Critical standards could be viewed as an essential approach of research that goes ahead of interpreting social reality to asking questions/demanding those social realities. E.g. they asked the question why men outnumber women in municipal office.
The seek of critical researchers is to spotlight on the power relations, conflicts and contradictions in our present humanity, and help to get rid of them as causes of estrangement and ascendancy. Understandings and Interpretation are presently not enough. Critical research is known for assessment of tradition, unrestraint, non-per formative target- discard research project that are expected at civilizing secretarial effectiveness for elevated productivity and better profit with least input (e.g. condensed labor). They condemn technological determinism mind-set and trust instead of that people and society can outline the technology that we build up.
In analysis of the above, it may possibly recognize that there is no single preeminent standard; it all depends on the appropriateness and situation. For this reason the attitude of this research would be interpretive. This is because:
- The research would be in type of crate study and for the reality that case studies are frequently connected with the standard adopted, (Oates, 2006, pg. 300).
- The idea of revise is community knowledge (Jack, 2008).
- The lessons would be conducted in a managerial arrangement which flouting down would threat the full-size photograph.
Research strategies may perhaps defined as the resources/traditions of getting data/information in research accomplishments. There are mixtures of strategies, however only four would be discussed.
Case study: According to Benbasat et al (1987), “A case study examines a phenomenon in its normal situations, employing numerous methods of records and collection of grouped information from one or a small number of entities (groups, people, or organizations).”
- Case study is used wherever it is difficult to learn effects in separations (e.g. family of association).
- Much suitable when researcher has slight or no control over the research topic. Allow the researcher to answer how and why questions
- It is perceived as missing credibility and occasionally leads to simplification more than ever when the subjects are indiscriminately and consistently chosen.
- It is occasionally complicated to achieve contact to an association or groups or their traditional text and this might direct to impulsive results.
According to Rapport (1970), “Action research aims to donate mutually to the matter-of-fact concerns of people in an instantaneous challenging condition and to the goals of societal science by united cooperation contained by commonly tolerable principled framework”. Action research is comparable to consultancy, where a group is looking for a resolution to an accessible trouble, but requires theoretical validation and unmitigated instance frame. It is added of group effort linking the practitioner and the researcher and change. However, it has a possible ethical dilemma when the practitioner refuses to put into action the research result.
- It concentrates on research that is appropriate to people in genuine earth, bringing about definite improvements in performance, not just models and theories.
- It brings democratic system in the research course of actions.
- It is not appropriate for citizens who are not enthusiastic on the subject of social equality in solving multifaceted, challenging, and changeable actual world situations. E.g. Military.
- It is easier said than done to persuade prospects and the needs of the people concerned.
Ethnographic research is one that the researcher assimilates the research’s area under discussion. He immerses himself as one of them. The researcher at this point becomes a contestant viewer. (Oates, 2006, 174-176).
- Experience usual localities, draw together for more perfect records and have a complete representation of a scrupulous circumstances or work performance.
- It is excellent for studies where the issue of concentration is embedded and composite in a social system.
- Dangerous, source overriding, and distraction from the definite focus of the research.
- It is not able-bodied for conventional as strategies used by positivist and it may perhaps redundant by inhabitants by means of systematic state of mind.
“Grounded theory is a scrupulous come within reach of the qualitative research where the purpose is to achieve field research and then evaluate the facts to observe what theory emerges, so that the theory is stranded in the field data” (Oates, 2006, pg 274).
The strategy for this research endeavor would be ‘case study’ for the cause that of:
- The elasticity to make use of numerous research instruments.
- It is appropriate for researches in society set of connections.
- Be short of resources and sample time.
In spite of the piece of information that all strategies are first-class, although in next of kin to abnormal situations, the researcher feels ‘case study’ would be further suitable for this picky research since:
- For Action research- the researcher proposes the subject matter and not been requested to work out the problems. Lack of time and resources is also a restraint.
- For Ethnography- the theory of research is in a business field and not in open surroundings. Time and resources are also deterrents.
- For Grounded theory- accurately, I lack in adequate proper understandings and proper knowledge to accomplish it.
- Leena Singh, Leonard Drucker, Neyaz Khan (2004).Verification process. In Advanced verification techniques: a SystemC based approach for su
Cite This Work
To export a reference to this article please select a referencing stye below: