BA

B.P. Ahrens

18 records found

Solving Cumulative with Extended Resolution in LCG Solvers

Nothing is as important as proper explanations

Lazy Clause Generation (LCG) Solving is a state-of-the-art technique for solving finite domain problems. The combination of powerful Constraint Programming (CP) propagators and Conflict Driven Clause Learning (CDCL) from the SAT domain enables both powerful inferences and learnin ...
Constraint Programming (CP) solvers are complex pieces of software with a large surface area for bugs, making it difficult to trust their claims of unsatisfiability or optimality. We make a contribution to the development of a CP unsatisfiability proof checker, which is formally ...

Linking Software Changes to Incident Reports

Investigating Correlations Between Root Causes and the Mean Time To Repair of Incidents

The availability and reliability of online systems form the cornerstone of modern civilization. Companies actively try to minimize downtime during incidents, and publishing incident reports afterwards is a standard practice. However, what is missing is an overview of the distribu ...
Modern businesses increasingly rely on software-driven operations, making system reliability a critical concern. Despite advances in automated operations, gaps remain in understanding how the primary causes of system failures manifest, impact operational severity, and evolve in c ...

Anatomy of a Fix: Analyzing Solution Patterns in Public IT Incident Reports

Insights from Postmortems on Mitigations and Fixes in Production Systems

This study examined common remediation strategies by analysing publicly available IT incident reports. A six-category taxonomy (“Software Fix”, “Rollback”, “Traffic Switch”, “Hardware/Infrastructure Repair or Operation”, “Self-Resolved”, and “Undisclosed/Not Specified”) was devel ...

What Secondary Issues Contribute to Operational Problems?

An Investigation Based on Public Postmortems

Operational incidents in software-defined systems can lead to significant disruptions, and while primary faults such as bugs or misconfigurations are well studied, secondary issues that exacerbate these failures remain underexplored. This research investigates what secondary issu ...

Understanding Software Failures Through Incident Report Analysis

An Empirical Study of 348 Incident Reports from the VOID

Software changes are a leading cause of operational failures in complex production systems. Despite the increasing use of Artificial Intelligence for Development Operations and the availability of postmortem data, research on software incidents remains fragmented and narrowly sco ...

LeanSolver: Solving theorems through Large Language Models and Search

Improving Theorem Proving with Proof Assistants and Sequential Monte Carlo in Large Language Models

We consider a subset of simple proving exercises that are part of the Lean 4 tutorials. The exercises consist of a statement, and the task will consist of creating a proof term of the desired type through the use of tactics.
Large Language Models on their own are known to be ...

Improving propagation of the inverse constraint in lazy clause generation solvers

To what extent can the use of Dulmage-Mendelsohn decomposition enhance the computational efficiency of propagating the inverse constraint in LCG solvers compared to decomposition methods?

Constraint programming is a paradigm used for solving complex combinatorial problems with applications in logistics, healthcare, telecommunications, and many other fields. Among the many constraints used in constraint programming is the inverse constraint, necessary for matching ...

Lazy Clause Generation for Bin Packing

Explaining Bin Packing Propagation with Boolean Variables

In this paper we embed a solution for bin packing problems in a constraint programming environment.
Existing solutions for bin packing problems are plentiful, but rigid.
We have taken existing solutions of bin packing in constraint programming, and analysed the steps this ...
The regular constraint offers good balance between expressiveness and cost. Despite potential exponential blow-up, existing approaches use deterministic automata. Furthermore, the area of combining conflict-driven learning with regular is unexplored. We combine learning with non- ...

Evaluating the usefulness of Global Cardinality constraint propagators in Lazy Clause Generation

Comparing propagator implementations with explanatory clauses for the Global Cardinality constraint against decomposition in the Pumpkin Lazy Clause Generation solver

In Constraint Programming, combinatorial problems such as those arising in the fields of artificial intelligence, scheduling, or circuit verification are modeled using mathematical constraints. Algorithms for each type of constraint are implemented in a solver and are known as pr ...

Explanation-Based Propagators for the Table Constraint

Comparing Eager vs. Lazy Explanations in Lazy Clause Generation Solvers

The table constraint is a fundamental component of constraint programming (CP), used to explicitly define valid value combinations for variables. In modern Lazy Clause Generation (LCG) solvers, constraints rely on explanations to justify value removals and enable efficient confli ...
The emergence of conversational AI systems like ChatGPT and Microsoft Copilot has impacted how users engage in information retrieval.
Retrieval Augmented Generation (RAG) harnesses the potential of Large Language Models (LLMs) with unstructured data, creating opportunities in ...
In recent years, GitHub Actions (GHA) has emerged as the leading platform for Continuous Integration and Continuous Deployment (CI/CD) within the GitHub ecosystem, offering developers seamless workflow automation. However, as with other CI/CD tools, GHA workflows are susceptible ...
Reusable tools for engineering software languages can bridge the gap between formal specification and implementation, lowering the bar for engineers to design and implement programming languages. Among such tools belong NaBL2 and its successor Statix, which are meta-languages for ...

Cloud Monads

A novel concept for monadic abstraction over state in serverless cloud applications

Serverless computing is a relatively recent paradigm that promises fine-grained billing and ease-of-use by abstracting away cloud infrastructure for developers. There is an increasing interest in using the serverless paradigm to execute data analysis tasks. Serverless functions o ...

Navigating Through Digital Printing Systems

The Use of a Domain-Specific Language for Route Finding in Digital Printing Systems

Digital printing systems allow for the production of a large variety of different products. Making production plans for all these different products is challenging. One of the challenging aspects of making these production plans is choosing the right sequence of machines, to prod ...