From 7fc535b586109ac7c3c0ab0182332b93a19de30b Mon Sep 17 00:00:00 2001 From: Mandeep Singh Grang Date: Sun, 16 Sep 2018 08:52:31 -0700 Subject: [PATCH] Updated README --- README.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/README.md b/README.md index 694d6a9..224a86c 100644 --- a/README.md +++ b/README.md @@ -83,6 +83,21 @@ containers and sorting algorithms: [2] https://llvm.org/docs/CodingStandards.html#beware-of-non-deterministic-sorting-order-of-equal-elements +## NEXT STEPS +The next logical step would be to apply the ideas presented here in a more +wider context to help find non-determinism in user code. With that in mind, I +have started writing a Clang Static Analyzer checker to detect instances of +non-determinism caused by sorting pointer-like keys. + +The beauty of the analyzer checks is that they run at compile time and hence +are cheap to test. The drawback is that there may be some false positives which +need to be pruned with better heuristics. Here is the RFC and the patch (WIP) +for this: + +[1] http://lists.llvm.org/pipermail/llvm-dev/2018-August/125191.html + +[2] https://reviews.llvm.org/D50488 + ## REFERENCES My work has featured several times in the LLVM weekly newsletters and other places: