A problem that occurs when two programs cannot run in the same computer at the same time. It is generally due to a programming bug and typically manifests when two programs compete for the same resource (memory, peripheral device, register, etc.). Not often, but possible, intermittent hardware failures can cause two programs to conflict. The bug in the code could be in the application program or the OS, DBMS or other system program that carries out the functions of the programming interface (API). If the interface is poorly defined, two applications may request services that cause conflict. This is more a bug in architecture rather than improper coding by the application programmers. Software conflicts can be one of the most vexing problems to solve. See DLL hell and anomaly.