內部接口錯誤:內部接口指程序之間的聯系。它所發生的錯誤與程序內實現的細節有關。例如,設計協議錯、輸入/輸出格式錯、數據保護不可靠、子程序訪問錯等。
硬件結構錯誤:這類錯誤在于不能正確地理解硬件如何工作。例如,忽視或錯誤地理解分頁機構、地址生成、通道容量、I/O指令、中斷處理、設備初始化和啟動等而導致的出錯。
操作系統錯誤:這類錯誤主要是由于不了解操作系統的工作機制而導致出錯。。當然,操作系統本身也有錯誤,但是一般用戶很難發現這種錯誤。
軟件結構錯誤:由于軟件結構不合理或不清晰而引起的錯誤。這種錯誤通常與系統的負載有關,而且往往在系統滿載時才出現。這是最難發現的一類錯誤。例如,錯誤地設置局部參數或全局參數;錯誤地假定寄存器與存儲器單元初始化了;錯誤地假定不會發生中斷而導致不能封鎖或開中斷;錯誤地假定程序可以繞過數據的內部鎖而導致不能關閉或打開內部鎖;錯誤地假定被調用子程序常駐內存或非常駐內存等等,都將導致軟件出錯。
控制與順序錯誤:這類錯誤包括:忽視了時間因素而破壞了事件的順序;猜測事件出現在指定的序列中;等待一個不可能發生的條件;漏掉先決條件;規定錯誤的優先級或程序狀態;漏掉處理步驟;存在不正確的處理步驟或多余的處理步驟等。
資源管理錯誤:這類錯誤是由于不正確地使用資源而產生的。例如,使用未經獲準的資源;使用后未釋放資源;資源死鎖;把資源鏈接在錯誤的隊列中等等。