# FastDiagP: An Algorithm for Parallelized Direct Diagnosis

arXiv: https://arxiv.org/abs/2305.06951 · HTML: https://mlsanity.com/paper/2305.06951/

## Key facts

- Cited by 1 papers in the map (data through 14 Oct 2026).
- Builds on 4 of its 27 references that are in the map.
- First posted on arXiv 11 May 2023.

## Builds on (most cited first, 4 of 4)

- [An Efficient Diagnosis Algorithm for Inconsistent Constraint Sets](https://mlsanity.com/paper/2102.09005/) (2021)
- [A Review of Literature on Parallel Constraint Solving](https://mlsanity.com/paper/1803.10981/) (2018)
- [DirectDebug: Automated Testing and Debugging of Feature Models](https://mlsanity.com/paper/2102.05949/) (2021)
- [Anytime Diagnosis for Reconfiguration](https://mlsanity.com/paper/2102.09880/) (2021)

## Built on by (most cited first, 1 of 1)

- [Distance-Restricted Explanations: Theoretical Underpinnings & Efficient Implementation](https://mlsanity.com/paper/2405.08297/) (2024)

## Abstract (arXiv)

Constraint-based applications attempt to identify a solution that meets all defined user requirements. If the requirements are inconsistent with the underlying constraint set, algorithms that compute diagnoses for inconsistent constraints should be implemented to help users resolve the "no solution could be found" dilemma. FastDiag is a typical direct diagnosis algorithm that supports diagnosis calculation without predetermining conflicts. However, this approach faces runtime performance issues, especially when analyzing complex and large-scale knowledge bases. In this paper, we propose a novel algorithm, so-called FastDiagP, which is based on the idea of speculative programming. This algorithm extends FastDiag by integrating a parallelization mechanism that anticipates and pre-calculates consistency checks requested by FastDiag. This mechanism helps to provide consistency checks with fast answers and boosts the algorithm's runtime performance. The performance improvements of our proposed algorithm have been shown through empirical results using the Linux-2.6.3.33 configuration knowledge base.
