 
Junior Member
Infinite number of bugs Do all software applications contain an infinite number of bugs ?
If there are an infinite combination of button presses, clicks and keypresses, then surely this is true? Am I correct or has my thinking gone wrong somewhere?
It just seems somewhat implausible if I am testing and I am only finding say, 23 bugs / day..
It's a tough pill to swallow ! 
Moderator
Re: Infinite number of bugs [ QUOTE ]
Do all software applications contain an infinite number of bugs ?
[/ QUOTE ]
No. The number of bugs is finite. 
Junior Member
Re: Infinite number of bugs Ok so let's break this down:
Do you disagree with me when I say there are an infinite number of combinations of possible user inputs?
Don't forget to take into account the variations in time difference between each possible user input. This has an infinite number of possible values, as time is infinite.
Thus giving an infinite number of combinations of possible user inputs... 
Moderator
Re: Infinite number of bugs [ QUOTE ]
Do you disagree with me when I say there are an infinite number of combinations of possible user inputs?
[/ QUOTE ]
Given a finite amount of time, yes, I disagree.
The number of combinations could certainly be large, but not infinite.
[ QUOTE ]
Thus giving an infinite number of combinations of possible user inputs...
[/ QUOTE ]
You are assuming all inputs could induce unique bugs.
If the size of the program is finite, then this cannot be so.
Most inputs execute the same paths.
So most inputs expose the same bug  not unique bugs.
Sorry. If the time period is finite, and the size of the system is finite, then number of unique bugs is finite as well.
Your question was "Do all software applications contain an infinite number of bugs?" The answer is "No".
Here's some pseudo code for an application:
PRINT "Hello, world."
END
Do you think it contains an infinite number of bugs?
I think you are mixing up concepts here.
If instead you had asked "Is it possible, given an infinite amount of time and an infinite program size, to construct an application which does contain an infinite number of bugs?" I might be tempted to say "It may be possible."
If instead you had asked "Is it possible to prove that there are no more unique undiscovered bugs remaining, without an infinite number of black box tests?", I'm convinced the answer is "No". 
Moderator
Re: Infinite number of bugs You don't need time itself to be infinite to conceive of infinity related to time. One minute can be divided into 60 seconds. But there are an infinity of subdivisions of a minute that have no name. Perhaps a given application fails when the user waits 250 rather than 249 milliseconds before responding. What about 249.9 milliseconds? Or 249.99999...?
[ QUOTE ]
there are an infinite number of combinations of possible user inputs. Don't forget to take into account the variations in time difference between each possible user input.
[/ QUOTE ]. I agree with that, but not the following sentence (as Joe pointed out):[ QUOTE ]
This has an infinite number of possible values, as time is infinite.
[/ QUOTE ]
Perhaps you meant  as I stated  that the number of subdivisions of time is infinite.
Nonrealtime applications usually have a finite (if large) number of paths. But as soon as an application becomes timedependent, then it's a whole different picture.
With that said, one can look at it another way and say "there are only just so many ways to fix a bug. So while the number of CONDITIONS may be infinite, presumably the number of bugs is limited by the (finite) number of ways to fix them."
Good philosophical question. But better suited, I think, to academia than the stuff most testers have to deal with  even in a lifetime. 
Moderator
Re: Infinite number of bugs To add to that, a race condition is one that theoretically has an infinity of different user inputs. But once the race condition is identified, the bug (and its solution) is defined in finite terms. The most notorious example I know of that is that of the Therac25, described, along with a lot more detail and examples, at http://en.wikipedia.org/wiki/Race_condition 
Member
Re: Infinite number of bugs I suppose it's finite but at least few ones will be always not found 
Moderator
Re: Infinite number of bugs [ QUOTE ]
Nonrealtime applications usually have a finite (if large) number of paths.
[/ QUOTE ]
To me this says it all, unless you have REALLY skilled programmers once something is written there are a limited number of pathways through it. I suppose if you are dealing with selfaware code that is continually rewriting itself, then you might have an infinite number of pathways as the paths will change and could conceivably create new ones on a continual basis so you might never cover them all.  M
Nothing learns better than experience.
"So as I struggle with this issue I am confronted with the reality that noting is perfect."
 Unknown
Now wasting blog space at QAForums Blogs  The Lookout 
Member
Re: Infinite number of bugs There is an infinite number of definitions that could be used to describe a bug. Those infinite definitions could conceivably be interpreted to locate an infinite number of bugs. i.e. "Hello World" is incorrect in a Latin speaking populace, it should be "Hola Mundo". That could be a bug?
Reducing the definition of what is considered a bug is part of the process of actually finding the bugs, which is a process that can approach infinity if the definition is loosely based.
A good tester would have a finite idea of what is considered a fault, defect, feature or bug (and would be in agreement with all the stakeholders about this), and have test plans that are designed to exploit that type of definition. Software Testing, Second Edition: "Intelligently weighing the risks and reducing the infinite possibilities to a manageable effective set is where the magic is." 
Moderator
Re: Infinite number of bugs [ QUOTE ]
There is an infinite number of definitions that could be used to describe a bug. Those infinite definitions could conceivably be interpreted to locate an infinite number of bugs. i.e. "Hello World" is incorrect in a Latin speaking populace, it should be "Hola Mundo". That could be a bug?
[/ QUOTE ]
Certainly, without knowing the requirements or context, then anything could be a bug. In this case, if the requirement was to print "Goodbye, World" then there is a bug.
But the original question was "Do all software applications contain an infinite number of bugs ?"
To disprove the hypothesis, you would only need to find one application that does not have an infinite number of bugs.
Posting Permissions
 You may not post new threads
 You may not post replies
 You may not post attachments
 You may not edit your posts

Forum Rules 