Detecting Join Bugs in Database Engines Via Join Implication Reasoning | AMiner