Despite the best intentions of programmers; oftentimes, in the real world, software systems contain accidental features that are accepted as part of a working system. For example, there may be some process that runs out of memory and crashes before the process exceeds its quota for calls to an external system (which will cost the company money). Though the software team acknowledges that this is an issue, there is simply not enough perceived business value to fix the problem.  Advantageous accidental behavior like this is often lost in any type of significant technical migration.My question: Is there a term for this type of feature that can serve to differentiate it from a run-of-the-mill bug?
Term for accidental features
terminology;bug
The Pragmatic Programmer calls these Accidents of Implementation. This term hopefully ensures that the situation will not be mistaken for anything but what it actually is.Accidents of implementation are things that happen simply because thats the way the code is currently written. You end up relying on undocumented error or boundary conditions.(I guess I should have consulted the developer canon before I asked this question)