Leveraging the First Futamura Projection for Large-scale Rule Parallelisation in an Industrial Datalog Engine
Name
Taaniel Saarnik
Abstract
Incorrect system configurations can cause disruptions in the software development lifecycle from code deployment to system reliability. The correctness of these configurations can be ensured by an on-site DevOps team or by the developers themselves. A system that finds the incorrect settings automatically could be highly beneficial.
A company's internal system called Neodora uses the Open Policy Agent top-down Datalog engine to check the correctness of repositories and code in pull requests. It gives developers a faster and easier way to discover and correct mistakes. While the current implementation fulfils its purpose, it struggles with the near real-time scale that it is subjected to, leading to high costs.
We present an industrial experience report detailing how a new implementation of Neodora eliminates this weak point by leveraging the first Futamura projection to cleverly attain large-scale rule parallelisation. Our changes to Neodora led to a potential reduction in cost of nearly fifteen times.
A company's internal system called Neodora uses the Open Policy Agent top-down Datalog engine to check the correctness of repositories and code in pull requests. It gives developers a faster and easier way to discover and correct mistakes. While the current implementation fulfils its purpose, it struggles with the near real-time scale that it is subjected to, leading to high costs.
We present an industrial experience report detailing how a new implementation of Neodora eliminates this weak point by leveraging the first Futamura projection to cleverly attain large-scale rule parallelisation. Our changes to Neodora led to a potential reduction in cost of nearly fifteen times.
Graduation Thesis language
English
Graduation Thesis type
Master - Computer Science
Supervisor(s)
Bruno Rucy Carneiro Alves de Lima, Mykhailo Dorokhov
Defence year
2024