Bug tracking software enables developers to use breakpoint and stepping methods to troubleshoot source code written for computers and embedded systems. These stand-alone computer applications are not part of an integrated development environment (IDE). Rather, bug tracking software is an issue-tracking system that enables programmers and quality assurance (QA) personnel to catalog and review reported software problems or bugs. With open-source software development, users typically enter the bug reports themselves. Bug tracking software for proprietary applications may restrict access to authorized personnel; however, some Web-based applications may allow end-users to record preliminary reports. Typically, bug tracking applications can be integrated with other tools or programs for software project management. Software testers use bug tracking software to record the steps and scenarios that produce repeatable application errors. Programmers, coders, and software developers then fix the problem and note the corrections. Later, software testers determine whether or not the bug has been corrected, and if the software fix introduced new problems. In addition to programs for software bug tracking, applications for IT issue tracking are available. Both types of bug tracking software usually include features such as notifications to interested parties, the collaborative accumulation of comments, dependency tracking, queries, and reports. Because bug tracking software also serves as a management tool, many bug tracking systems allow managers to assign, reassign, prioritize, and reprioritize work. Selecting bug tracking software requires an analysis of product specifications and features. Implementation languages include ASP and ASP.Net, C and C++, C#, ISAPI, Ruby, PHP, VB.Net, and XHTML. Java clients, Web interfaces, e-mail notifications, and RSS feeds are user interface (UI) characteristics. Choices for back end software include Access, SQL Server, Server 2005 and Oracle. Dynamic documentation generation, test planning integration, customizable workflow, Unicode support, custom fields, and email integration are also important considerations when selecting bug tracking software. Distributed bug tracking software allows developers to download a bug database along with the project’s source code. Branches that contain a bug fix include a corresponding bug tracker entry. Later, changes are sent to software configuration management (SCM) to ensure that the items and their associated components are properly controlled and tracked. Metadata with bug information and developer notes are stored separately. After software patches are generated, testers verify the bug fixes. Typically, distributing bug tracking software is used by organizations with multiple locations.