Home     ProductivityTools     Articles     Fun fatcs     How To     C Sharp     Science News     Contact Us     Submit your website     General Blog     Jobs      
Drink More Water Stay Hea
Happiness is key
browser Color scheme
Top 10 Fuel Saving Tips
Tips on productivity
Speed Up Computer
Controll Your Emails
Overcome depression
enhancing your performanc
ISO Country Codes
How to be a good listener
Save on medical bills
Balance between office an
Country and Currency
words on move
Milder depression may not
Simple Tips to Detoxify y
Avocado: A Cholesterol-Bl
Tips for a Good Night’s S
Use Office Chair properly
Importance of bug trackin
Meeting Etiquette
Survive Office Politics
List of items to be packe
Use Dvorak avoid finger p
Flexible Routine Doubles
Office Exercises
How to avoid sleep in off
Eat fruits on empty stoma
Implement Agile in your d
Clean your keyboard stay
Reduce fat and improve pr
Save your eyes from compu
Resource to overcome depr
Most famous successful pe
Log errors improve produc
Global Warming Causing Pl
Importance of bug tracking

Software bug

A software bug is the common term used to describe an error, flaw, mistake, failure, or fault in a computer program or system that produces an incorrect or unexpected result, or causes it to behave in unintended ways. Most bugs arise from mistakes and errors made by people in either a program's source code or its design, and a few are caused by compilers  producing incorrect code. A program that contains a large number of bugs, and/or bugs that seriously interfere with its functionality, is said to be buggy. Reports detailing bugs in a program are commonly known as bug reports, fault reports, problem reports, trouble reports, change requests, and so forth.

Defect tracking is important in software engineering as complex software systems typically have tens or hundreds or thousands of defects: managing, evaluating and prioritizing these defects is a difficult task: defect tracking systems are computer database systems that store defects and help people to manage them.
The common types of computer bugs



The common types of software bugs include:
 

  • Bugs due to conceptual error: E.g. syntactically incorrect program, wrong or inappropriate design or concept employed.
  • Math bugs: E.g. Division by zero, arithmetic overflow or underflow, lack of arithmetic precision due to rounding etc.
  • Logic bugs: E.g. infinite loops and infinite recursion.
  • Syntax bugs.
  • Resource bugs: e.g. Buffer overflow, access violations, usage of an uninitialized variable.
  • Co-programming bugs: E.g. concurrency errors, deadlock, race condition.
  • Team-working bugs: E.g. non-matching of documentation and product, out-of-date comments etc.
  • Adopt proper programming style. Test driven development is most recommended to avoid any bugs. The better the test suit the better the software is.
  • Use strong data typing and check on the integrity of the data using some validation functions.
  • Take enough time to define the specification for the software.
  • Design and review design prior to coding.
  • Code review is an essential stage of software development. The cost of bug captured and fixed in this stage is much much less than catching it in production.
  • Use continuous improvement methodologies for the software.
  • Always prepare regression test suit for the software that you are developing.
  • If the software is multi-threaded ensure that the deadlocks do not happen.

Wikipedia has anice comparison of various bug tracking softwares. click here.