There are a few SET solvers available on the Internet. As far as I can tell, there are no papers that propose an algorithm.
Steve Nolte and Sam Liew both implement an O(n^3) brute force algorithm in bad JavaScript.
Meng Wong and Bryan Donovan used an O(n^2) algorithm which relies on the property of SET: for any two cards there is a third that will form a set.
Can we do better? Probably.