Abstract
针对Logic bugs,本文提出:
- Query Partitioning
- 思路:从给定的原始query开始,构造更多复杂的queries,这些queries合起来的结果集与原来的结果集一致
- 作者认为由于逻辑复杂了,更有可能找到逻辑bug
- 提出TLP: Ternary Logic Partitioning
- 思路: 同个query能被分为3个partitioning queries: True, False, NULL
- 效果: 能用于where, groupby, having, aggregate functions, distinct
- 实验: 找到175个bugs, 其中125fixed, 77logic bugs