Common Program Bugs That Can Sicken Any User

It was just a few short years ago when blue screen of death jokes ran rampant through computer culture. Despite numerous advances in the staffing of Microsoft, literally hundreds of thousands of bug reports are open submissions. These bug reports are automatically submitted to the developers of Windows whenever a user clicks okay following a program crash.

Thankfully for Microsoft, a large proportion (although not high enough to make their project renowned for bug-free operation) of bug submissions are actually the result of other programs failing to interface correctly with either the API or Kernel.

Common software bugs occur for one of several reasons. Unhandled exceptions, mathematically errors, division by 0, and overflow are three of the predominant underlying causes of software bugs. They occur because of accidental oversights in the underlying software programming. To understand common software bugs, we’ll continue briefly with some generalized software vocabulary building.

Overflow bugs refer to trying to work on numbers too big for a particular data type in a program to handle. Division by 0 is bug that caused by an illegal computation not permitted by mathematical rules. Finally, unhandled exception bugs occur when a program tries to do something it is not designed to do. Additionally, for the purposes of this article, data type will be limited to numeric and textual string formats, but there are additional possibilities for bugs with other data types.

For example, if a program wants to know your address, family size, and your age, that’s fine. It’s common in many registration forms. The chance of having bugs occur are very low especially if the fields are never used in any computations. However, depending on the declared data types of field input variables, you already could have numerous bugs occur the second the program tries to store or operate on any entries.

First, a bug could happen if the program formatted the program to only accept numeric values for the name field. Secondly, an overflow bug could occur if the value for family size and age numbers exceeded constant type. Additionally, a division by 0 bug could occur if for any reason the program used the number of children to make a computation on a childless family.

Finally, if the program wanted to add the age and family size for some reason, and the programmer decided to compute them through subtraction, a mathematic bug would occur. Though the likelihood of bugs occurring in simplistic and small programs is very small, most programs users select are more complex than basic addition and field entry programs.

Usually customers want a program that can provide some logistics output or other valuable information. They want the software program to operate without bugs and will have unique datasets. The risk of encountering bugs vastly increases proportional to program functionality and size. Malicious users will often try entering in extremely long usernames into programs.

Many times, it will kill off a program. This may not be a problem for a simple desktop application, but for a web portal, overflow bugs can be used to penetrate systems by passing along parsed data that the program often handles very poorly. The vast majority of software users aren’t out to cause malicious harm to your computer.

But, they will quickly discover if you’ve made provisions to handle common mistakes. And, should your program have bugs and be mathematical in nature like tax preparation software, you may find yourself quickly closing up shop. Handling bugs requires a conscious and deliberate effort to identify potential bugs before releasing the program through quality assurance and staged testing.

Additionally, bug handling requires writing code to handle exceptions. If a program is looking for a file in a specific location instead of a relative location, the program is likely to crash as soon as a user moves the program over into another folder. Thinking like a software user, relying on debugging tools, and a constant vigil over the product once released allows programmers to address the majority of bugs in a very timely fashion.


Related Posts

RSS feed | Trackback URI

Comments »

No comments yet.

Name (required)
E-mail (required - never shown publicly)
URI

Subscribe to comments via email

Your Comment (smaller size | larger size)
You may use <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> in your comment.

Copyright © 2008 Software Business Blog. Theme modified from WPDesigner