The testing approaches implemented in SQLancer are described in the three papers below.
This paper describes PQS, a testing approach to detect various kinds of logic bugs in DBMS. A preprint is available here.
@inproceedings{Rigger2020PQS,
author={Manuel Rigger and Zhendong Su},
title={Testing Database Engines via Pivoted Query Synthesis},
year={2020},
url={https://arxiv.org/abs/2001.04174}
}
This paper describes NoREC, a metamorphic testing approach to detect optimization bugs, that is, logic bugs that affect the query optimizer. A preprint is available here.
@inproceedings{Rigger2020NoREC,
author={Manuel Rigger and Zhendong Su},
title={{Detecting Optimization Bugs in Database Engines via Non-Optimizing Reference Engine Construction}},
booktitle = {Proceedings of the 2020 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering},
series={ESEC/FSE 2020},
location={Sacramento, California, United States},
year={2020}
}
This paper describes TLP, a metamorphic testing approach that can detect various kinds of logic bugs and is applicable also test features such as aggregate functions. A preprint is available here.
@inproceedings{Rigger2020TLP,
author={Manuel Rigger and Zhendong Su},
title={Ternary Logic Partitioning: Detecting Logic Bugs in Database Management Systems},
year={2020}
}