近日,中科院軟件所軟件工程中心數據庫系統可靠性保障團隊的兩篇論文被ICSE 2023接收。ICSE(International Conference on Software Engineering)是軟件工程領域的頂級國際會議,迄今已經舉辦45屆。研究成果聚焦數據庫系統在SQL語句、事務執行方面的正確性,是該研究團隊在數據庫系統可靠性保障方向的新探索。
論文“Testing Database Systems via Differential Query Execution”關注數據庫系統中單條SQL語句執行的正確性。關系型數據庫系統使用結構化查詢語言(SQL)高效地存儲和檢索數據。如果SQL語句執行存在缺陷,可能會導致數據庫狀態錯誤、系統宕機等嚴重后果。因此,SQL語句執行的正確性是基于數據庫系統的各類應用正確性保障的關鍵。現有數據庫系統測試方法主要關注SELECT語句執行的正確性,無法檢測UPDATE、DELETE等更新語句中的缺陷。同時,研究團隊發現SELECT、UPDATE和DELETE語句都使用WHERE子句作為查詢條件與數據庫系統進行交互,相同的WHERE子句應該影響到數據庫中相同的數據行。基于上述發現和現有檢查方法存在的問題,研究團隊提出了差分語句執行方法DQE(Differential Query Execution),通過分析使用相同WHERE子句的SELECT、UPDATE和DELETE的執行差異,自動化判斷單個數據庫系統中SQL語句執行的正確性。