Explore BrainMass


'Bugs' in computer programming are behaviors from a program that are unexpected and harmful. They vary in severity, and could be anything from strange formatting to a total system crash, so it is important to eradicate them. 'Debugging' is the process of going through a program's code and using extensive test cases to find and fix as many bugs as possible. Bugs can be extremely subtle, or situationally specific and so it is not uncommon for some to persist even beyond the launch and distribution of even the most popular software, requiring the publishers to send out patches and updates for their software. 

Programmers have been around long enough to turn debugging into something of a science. Inevitably, the fix will be highly specific to its own particular environment but the initial steps in debugging have become rather methodical. They are as follows:

  1. Reproduce the problem - this can be a huge task in itself as the bug may depend on the user's own system and set-up
  2. Strip away the input needed to reproduce the problem until it no longer occurs, then replace the last thing you stripped away - in this step, you are finding the simplest test case that will produce the bug
  3. Break the bug down into parts as much as possible and attack them individually - the 'divide and conquer' approach
  4. Get input from a friend or colleague - a pair of fresh eyes can be essential when you've been starting at the same ten lines of code for two days

Thankfully, there are a wide range of tools available to aid a programmer in debugging. Benchmarks can be used to isolate exactly when during run-time problems begin, memory management debuggers may search out memory leaks, etc. With high-level languages like Java and Python these may not be as necessary as their structuring makes it easier to spot anomalies simply by stepping through the sourcecode. However, lower-level languages like C and especially anything in an assembly language will require more tools to spot their 'silent' or 'invisible' bugs. These kinds of bugs are most commonly caused by memory corruption.

green xbox reading 'debug kit'

Designated debugging unit for developers of Xbox [Photo credit Evan-Amos]

The more interdependence in a system, the harder it is to debug a part of it without serious repercussions rippling through the rest of it. In other cases, large-scale updates often annoy users to the point that it is better to leave them with the knowledge of how to navigate an existing problem than fix it. When debugging, one must always weigh the benefit and the risk.

Application that Allows User to Manipulate & Enter Numbers

See the attached file. (Arithmetic Calculator Application) Write an application that allows the user to enter a series of numbers and manipulate them. The application should provide users with the option of adding or multiplying the numbers. Users should enter each number in a TextBox. After entering each number, the user cli

SDLC Methodologies

The System Development Life Cycle has developed over the decades to include a variety of Methodologies. Each of these Methodologies utilizes the same processes in a different way. Describe the primary SDLC Methodologies, their advantages and disadvantages and the types of projects they are best suited for.

Source Code Requests

Would you please help me to get started with the following question? When negotiating with a vendor of a package, one of the stipulations you might make is that the vendor supply the source code. Since most authorities on this subject admonish users not to modify packaged software (putting yourself in the upgrade/support loo

Data structures

· Explain the need for complex data structures and how they are used. · Explain the design and application of arrays and how an array simplifies program development. Support your answer with a hypothetical real-world example. · Explain at least four benefits of modular design. Support your answer

Compare and contrast object-oriented technology

Details: A company is about to begin a new project but before they start they would like to implement a new filing system. They have hired a consulting company to advise them on the best type of filing system for their business. The consultants suggested using object-oriented technology. Yet the internal information systems team

Make-Buy decision process

The make-buy decision is an important management prerogative. I am supposed to be a manager of a software organization that has an average software development cost of $20.00/LOC. I am supposed to be considering the purchase of a 5000-LOC software package that will cost $50,000. Initially, my technical staff indicates that no mo

"Fit Software Tests to Code Needs,"

According to the article "Fit Software Tests to Code Needs," why are coding standards important to testing? How can programmers and testers work together to make program testing more efficient and effective?

Systems Analysts and Models

Why do systems analysts build models? How do they choose what to model, and which modeling techniques to use.

Delimiters in modern languages

Many contemporary languages allow two kinds of comments, one in which delimiters are used on both ends(for multiple-line comments), and one in which delimiter marks only the beginning of the comment ( for one-line comments), Discuss the advantages and disadvantages of each.

Debugging Code

Please look through the code and debug and add anything into it. Make sure it says if the letter is invalid. I am an online learner. The book does not tell me everything. . // ******************************************************************** // // PaperRockScissors.cpp // // This program simulates the game of paper

project development activities and code development

1. You have just been asked to take over an existing project and asked to make a few changes for new features. The person that worked on this software before you is not available. What documentation (either in the code or external) or other information would you like to see to help you more quickly understand the code you have -

CASE tools improving the development cycle

From your experiences discuss how CASE tools have improved the system development cycle. If you have no experience with CASE tools, how would you think they would improve the system development cycle? Is a CASE tool more helpful in a certain stage of the system development cycle? Why?


Creating a Custom Troubleshooting Solution with HTML Help Workshop" would be a valuable tool for Web developers? Why?

Right angle

Design 10 test cases and explain the purpose of each of them. The purpose is one to two sentences. For example the purpose of (3,4,5) is to test that the program correctly identifies a right angle (9+16 = 25).

A2 + B2 = C2, where A, B, and C are the three sides of the triangle. Also, don't forget that the sum of any two sides (for any triangle) is greater than the third side. What is the difference between testing and debugging?

A2 + B2 = C2, where A, B, and C are the three sides of the triangle. Also, don't forget that the sum of any two sides (for any triangle) is greater than the third side. Consider the following questions What is the difference between testing and debugging? Design 10 test cases and explain the purpose of each of them. Th

Please assist with the following information

Find resources on Visual Basic. Select your favorite three and explain what they have to offer. Also discuss the differences between Object-Oriented Programming (OOP) and Object-Oriented Design (OOD). Offer examples of how each can be applied in real life. Use proper terminology.

Assembly Language Programming

Write a program using the mov instruction to produce the following results. Assemble and debug the problem. 1. Move the contents of register AX to registers BX, SI, and DS. 2. Move the word contents of memory location DS:1234h to memory location DS:5678h. 3. Store the number 5678h in memory location DS:2000h using indirect