Re:Warren Abstract Machine
by 6gvONxR4sf7o on Thursday March 12, 2020 @05:06PM
(#22561738)
Has anyone here used logic programming at work? I'm curious where it pops up in industry as I haven't encountered it myself yet.
[ Parent
| on HN ]
Datalog and variants of it come up a bunch in program analysis and software security. For example, GitHub/Microsoft acquired a company, Semmle [1], that has an object-oriented query language that compiles down into Datalog, and can be used to query source code in interesting ways. Souffle [2] comes up in static analysis as well, and is used in systems such as Doop [3]. A kind of predecessor to Doop is bddbddb [4].
Souufle has been used in Ddisasm [5] for disassembling binaries. XSB Prolog has been used in OOAnalyzer [6] for inferring class hierarchies and virtual tables in binaries as well.
I myself spend some time working on datalog compilation for program analysis and decompilation :-)
[2] https://souffle-lang.github.io/index.html
[3] https://bitbucket.org/yanniss/doop/src/master
[4] https://suif.stanford.edu/bddbddb
[5] https://github.com/GrammaTech/ddisasm
[6] https://resources.sei.cmu.edu/library/asset-view.cfm?assetid...
And lets not forget that Rust's borrow checker is implemented with Datalog [1].
[1] https://smallcultfollowing.com/babysteps/blog/2018/04/27/an-...
I have a buddy who works with Prolog for a "major credit analysis firm" (his words). His code is basically fraud detection and credit scores (i.e. suitability for receiving a loan that you will pay off)
On a different note, does anyone know if WAM (or any logic programming advanced Instruction Set Archictecture) has been implemented in hardware, such as VHDL etc ?
Datalog also comes up in cluster management / provisioning. For example: Differential Datalog [1].