HNHacker News
TopNewBestAskShowJobs

mechtaev

55 karma · joined January 3, 2014

mechtaev.com - software engineering researcher.
submissionscomments
mechtaev··on AutoCodeRover: Autonomous Program Improvement
https://arxiv.org/abs/2404.05427
mechtaev··on Soufflé: A Datalog Synthesis Tool for Static Analysis
Souffle Datalog is used for defining program analyses in such projects like Doop [1] for Java and cclyzer++ [2] for LLVM.

GitHub's CodeQL [3] is another Datalog dialect used for detecting bugs and vulnerabilities.

Datomic [4] is a database that uses Datalog as the query language.

[1] https://bitbucket.org/yanniss/doop/src/master/

[2] https://github.com/GaloisInc/cclyzerpp

[3] https://codeql.github.com/

[4] https://www.datomic.com/

mechtaev··on Modus: A language for building Docker/OCI container images
Disclaimer: I am a co-author of Modus.

Modus is not really an alternative to Nix as a package manager, but to Nix as a language. It has several advantages, for example, it is non-Turing-complete, so there can not be infinite loops, and its definitions are more concise thanks to its logic programming foundations.

Saying that, I agree that an integration with package managers can be beneficial for reproducibility. This is the area of our current research.

mechtaev··on Non-Obvious Docker Uses
Apart from caching, BuildKit also provides automatic parallelization. Because of these two features, we use BuildKit to make our research results, experiments with program analysis tools on software benchmarks, easier to share and faster to execute.

As a more expressive frontend of BuildKit, we created a simple, non-Turing-complete logic programming language, which can also be thought of as docker-based Makefile.

https://modus-continens.com/

mechtaev··on Show HN: Modus, a Datalog dialect for building Docker/OCI container images
Hey HN, we are happy to announce Modus, a language for building Docker/OCI container images. Modus uses logic programming to express interactions among build parameters, specify complex build workflows, automatically parallelise and cache builds, help to reduce image size, and simplify maintenance. Modus is distributed under AGPL-3.0. The current version, 0.1, is a preview release; it is not recommended for production use. Feedback is welcome!
mechtaev··on I want a better shell (2019)
fzf can partially solve this, as shown in this blog post: https://nickjanetakis.com/blog/fuzzy-search-your-bash-histor...
mechtaev··on Introduction To Program Synthesis (2018)
SyGuS competition (SyGuS-Comp)[1] is a widely-used collection of such problems, but of course there will always be problem domains that are not well-represented by standard benchmarks.

1. https://sygus.org/