To put this in context, I have the following scenario. I am writing a Common Lisp program that works with strings and lists of characters.In a certain function foo, the value of a variable suff is a list of characters. Further on in the code, I forgot that suff was a list and treated it as a string, calling(subseq suff 0 1)I did not notice the mistake, because subseq works both on strings and lists:CL-USER> (subseq abc 0 1)aCL-USER> (subseq '(#\a #\b #\c) 0 1)(#\a)So in the subsequent code I assumed I was working with strings while in fact I was moving around lists of characters.These wrongly-typed results were finally formatted by the program's output function using (concatenate 'string .... I was lucky, because concatenate happily produces a string when given lists of characters as arguments.I only discovered this mistake when adding more tests (yes, I know, TDD, but that's another topic) and testing foo directly.Since my program was running properly - at the time my output function was the only piece of code that was using the corrupted data - I cannot say that the program as a whole contained a bug even though function foo, taken separately, was buggy.Is there a special name to describe such an incorrect internal behaviour that does not manifest externally as a bug?
Is there a name for an internal incorrect behaviour that does not manifest itself as a bug?
bug;errors
A bug is a bug even when no one has found it.According with this wikipedia article:A software bug is an error, flaw, failure, or fault in a computer  program or system that causes it to produce an incorrect or unexpected  result, or to behave in unintended ways.The behavior was not what you intended, so it's a bug. You may call it a latent bug, a dormant bug, etc.Some bugs have only a subtle effect on the program's functionality,  and may thus lie undetected for a long time.According to that article, the bug you talk about could be classified as a resource bug, meaning:Using an otherwise valid instruction on the wrong data typeIn conclusion, what hasn't yet manifested itself externally, is really a dormant bug, waiting for an specific situation to manifest itself, usually in a production environment and during a weekend.