Parallel Model-Based Diagnosis

  • Kostyantyn Shchekotykhin
  • Dietmar Jannach
  • Thomas Schmitz


Model-Based Diagnosis (MBD) is a general-purpose computational approach to determine why a system under observation, e.g., an electronic circuit or a software program, does not behave as expected. MBD approaches utilize knowledge about the system’s expected behavior if all of its components work correctly. In case of an unexpected behavior they systematically explore the possible reasons, i.e., diagnoses, for the misbehavior. Such diagnoses are determined through systematic or heuristic search procedures which often use MBD-specific rules to prune the search space. In this chapter we review approaches that rely on parallel or distributed computations to speed up the diagnostic reasoning process. Specifically, we focus on recent parallelization strategies that exploit the capabilities of modern multi-core computer architectures and report results from experimental evaluations to shed light on the speedups that can be achieved by parallelization for various MBD applications.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.



The authors were supported by the Carinthian Science Fund (KWF) under contract KWF-3520/26767/38701, the Austrian Science Fund (FWF) and the German Research Foundation (DFG) under contract numbers I 2144 N-15 and JA 2095/4-1 (Project “Debugging of Spreadsheet Programs”).


  1. [1]
    de Kleer, J., Mackworth, A.K., Reiter, R.: Characterizing Diagnoses and Systems. Artificial Intelligence 56(2-3) (1992) 197–222Google Scholar
  2. [2]
    de Kleer, J., Williams, B.C.: Diagnosing Multiple Faults. Artificial Intelligence 32(1) (April 1987) 97–130Google Scholar
  3. [3]
    Reiter, R.: A Theory of Diagnosis from First Principles. Artificial Intelligence 32(1) (1987) 57–95Google Scholar
  4. [4]
    Felfernig, A., Friedrich, G., Jannach, D., Stumptner, M.: Consistency-based Diagnosis of Configuration Knowledge Bases. Artificial Intelligence 152(2) (2004) 213–234Google Scholar
  5. [5]
    Mateis, C., Stumptner, M., Wieland, D., Wotawa, F.: Model-Based Debugging of Java Programs. In: AADEBUG’00. (2000)Google Scholar
  6. [6]
    Jannach, D., Schmitz, T.: Model-based Diagnosis of Spreadsheet Programs: A Constraint-based Debugging Approach. Automated Software Engineering 23(1) (2016) 105–144Google Scholar
  7. [7]
    Wotawa, F.: Debugging Hardware Designs Using a Value-Based Model. Applied Intelligence 16(1) (2001) 71–92Google Scholar
  8. [8]
    Felfernig, A., Friedrich, G., Isak, K., Shchekotykhin, K.M., Teppan, E., Jannach, D.: Automated Debugging of Recommender User Interface Descriptions. Applied Intelligence 31(1) (2009) 1–14Google Scholar
  9. [9]
    Console, L., Friedrich, G., Dupré, D.T.: Model-Based Diagnosis Meets Error Diagnosis in Logic Programs. In: IJCAI’93. (1993) 1494–1501Google Scholar
  10. [10]
    Friedrich, G., Shchekotykhin, K.M.: A General Diagnosis Method for Ontologies. In: ISWC’05. (2005) 232–246Google Scholar
  11. [11]
    Stumptner, M., Wotawa, F.: Debugging Functional Programs. In: IJCAI’99. (1999) 1074–1079Google Scholar
  12. [12]
    Friedrich, G., Stumptner, M., Wotawa, F.: Model-Based Diagnosis of Hardware Designs. Artificial Intelligence 111(1-2) (1999) 3–39Google Scholar
  13. [13]
    White, J., Benavides, D., Schmidt, D.C., Trinidad, P., Dougherty, B., Cortés, A.R.: Automated Diagnosis of Feature Model Configurations. Journal of Systems and Software 83(7) (2010) 1094–1107Google Scholar
  14. [14]
    Friedrich, G., Fugini, M., Mussi, E., Pernici, B., Tagni, G.: Exception Handling for Repair in Service-Based Processes. IEEE Transactions on Software Engineering 36(2) (2010) 198–215Google Scholar
  15. [15]
    Junker, U.: QUICKXPLAIN: Preferred Explanations and Relaxations for Over-Constrained Problems. In: AAAI’04. (2004) 167–172Google Scholar
  16. [16]
    Marques-Silva, J., Janota, M., Belov, A.: Minimal Sets over Monotone Predicates in Boolean Formulae. In: Computer Aided Verification. (2013) 592–607Google Scholar
  17. [17]
    Shchekotykhin, K., Jannach, D., Schmitz, T.: MergeXplain: Fast Computation of Multiple Conflicts for Diagnosis. In: IJCAI’15. (2015) 3221–3228Google Scholar
  18. [18]
    Greiner, R., Smith, B.,Wilkerson, R.: A Correction to the Algorithm in Reiter’s Theory of Diagnosis. Artificial Intelligence 41(1) (1989) 79–88Google Scholar
  19. [19]
    Jannach, D., Schmitz, T., Shchekotykhin, K.: Parallel Model-Based Diagnosis On Multi-Core Computers. Journal of Artificial Intelligence Research (JAIR) 55 (2016) 835–887Google Scholar
  20. [20]
    Garey, M.R., Johnson, D.S.: Computers and Intractability: A Guide to the Theory of NP-Completeness. W. H. Freeman & Co. (1979)Google Scholar
  21. [21]
    Eiter, T., Gottlob, G.: The Complexity of Logic-Based Abduction. Journal of the ACM 42(1) (1995) 3–42Google Scholar
  22. [22]
    de Kleer, J.: Hitting Set Algorithms for Model-based Diagnosis. In: DX’11. (2011) 100–105Google Scholar
  23. [23]
    Stern, R., Kalech, M., Feldman, A., Provan, G.: Exploring the Duality in Conflict-Directed Model-Based Diagnosis. In: AAAI’12. (2012) 828–834Google Scholar
  24. [24]
    Marques-Silva, J., Janota, M., Ignatiev, A., Morgado, A.: Efficient Model Based Diagnosis with Maximum Satisfiability. In: IJCAI’15. (2015) 1966–1972Google Scholar
  25. [25]
    de Kleer, J., Williams, B.C.: Diagnosing Multiple Faults. Artif. Intell. 32(1) (apr 1987) 97–130Google Scholar
  26. [26]
    Williams, B.C., Ragno, R.J.: Conflict-directed A* and its Role in Model-based Embedded Eystems. Discrete Applied Mathematics 155(12) (2007) 1562–1595Google Scholar
  27. [27]
    Darwiche, A.: Model-Based Diagnosis using Structured System Descriptions. Journal of Artificial Intelligence Research 8 (1998) 165–222Google Scholar
  28. [28]
    Siddiqi, S., Huang, J.: Sequential Diagnosis by Abstraction. Journal of Artificial Intelligence Research 41 (2011) 329–365Google Scholar
  29. [29]
    Darwiche, A.: A Differential Approach to Inference in Bayesian Networks. Journal of the ACM 50(3) (May 2003) 280–305Google Scholar
  30. [30]
    Pill, I., Quaritsch, T.: Optimizations for the Boolean Approach to Computing Minimal Hitting Sets. In: ECAI’12. (2012) 648–653Google Scholar
  31. [31]
    Feldman, A., Provan, G., de Kleer, J., Robert, S., van Gemund, A.: Solving Model-Based Diagnosis Problems with Max-SAT Solvers and Vice Versa. In: DX’10. (2010) 185–192Google Scholar
  32. [32]
    Metodi, A., Stern, R., Kalech, M., Codish, M.: A Novel SAT-Based Approach to Model Based Diagnosis. Journal of Artificial Intelligence Research 51 (2014) 377–411Google Scholar
  33. [33]
    Mencia, C., Marques-Silva, J.: Efficient Relaxations of Over-constrained CSPs. In: ICTAI’14. (2014) 725–732Google Scholar
  34. [34]
    Mencía, C., Previti, A., Marques-Silva, J.: Literal-Based MCS Extraction. In: IJCAI’15. (2015) 1973–1979Google Scholar
  35. [35]
    Nica, I., Pill, I., Quaritsch, T.,Wotawa, F.: The Route to Success: A Performance Comparison of Diagnosis Algorithms. In: IJCAI’13. (2013) 1039–1045Google Scholar
  36. [36]
    Shchekotykhin, K., Friedrich, G., Fleiss, P., Rodler, P.: Interactive Ontology Debugging: Two Query Strategies for Efficient Fault Localization. Journal of Web Semantics 12–13 (2012) 88–103Google Scholar
  37. [37]
    Feldman, A., Provan, G., van Gemund, A.: Approximate Model-Based Diagnosis Using Greedy Stochastic Search. Journal of Artifcial Intelligence Research 38 (2010) 371–413Google Scholar
  38. [38]
    Li, L., Yunfei, J.: Computing Minimal Hitting Sets with Genetic Algorithm. In: DX’02. (2002) 1–4Google Scholar
  39. [39]
    Ram, D.J., Sreenivas, T.H., Subramaniam, K.G.: Parallel Simulated Annealing Algorithms. Journal of Parallel and Distributed Computing 37(2) (1996) 207 – 212Google Scholar
  40. [40]
    Burns, E., Lemons, S., Ruml, W., Zhou, R.: Best-First Heuristic Search for Multicore Machines. Journal of Artificial Intelligence Research 39 (2010) 689–743Google Scholar
  41. [41]
    Ferguson, C., Korf, R.E.: Distributed Tree Search and its Application to alphabeta Pruning. In: AAAI’88. (1988) 128–132Google Scholar
  42. [42]
    Brüngger, A., Marzetta, A., Fukuda, K., Nievergelt, J.: The Parallel Search Bench ZRAM and its Applications. Annals of Operations Research 90(0) (1999) 45–63Google Scholar
  43. [43]
    Kalyanpur, A., Parsia, B., Horridge, M., Sirin, E.: Finding All Justifications of OWL DL Entailments. In: ISWC 2007 + ASWC 2007. (2007) 267–280Google Scholar
  44. [44]
    Previti, A., Ignatiev, A., Morgado, A., Marques-Silva, J.: Prime Compilation of Non-Clausal Formulae. In: IJCAI’15. (2015) 1980–1987Google Scholar
  45. [45]
    Powley, C., Korf, R.E.: Single-agent Parallel Window Search. IEEE Transactions on Pattern Analysis and Machine Intelligence 13(5) (1991) 466–477Google Scholar
  46. [46]
    Anglano, C., Portinale, L.: Parallel Model-based Diagnosis using PVM. In: EuroPVM’96. (1996) 331–334Google Scholar
  47. [47]
    Wotawa, F.: A Variant of Reiter’s Hitting-set Algorithm. Information Processing Letters 79(1) (2001) 45–51Google Scholar
  48. [48]
    Phillips, M., Likhachev, M., Koenig, S.: PA*SE: Parallel A* for Slow Expansions. In: ICAPS’14. (2014)Google Scholar
  49. [49]
    Korf, R.E., Schultze, P.: Large-scale Parallel Breadth-first Search. In: AAAI’05. (2005) 1380–1385Google Scholar
  50. [50]
    Shchekotykhin, K.M., Friedrich, G., Rodler, P., Fleiss, P.: Sequential Diagnosis of High Cardinality Faults in Knowledge-Bases by Direct Diagnosis Generation. In: ECAI’14. (2014) 813–818Google Scholar
  51. [51]
    Kurtoglu, T., Feldman, A.: Third International Diagnostic Competition (DXC 11). (2011) Accessed: 2016-03-15.
  52. [52]
    Prud’homme, C., Fages, J.G., Lorca, X.: Choco Documentation. (2015)
  53. [53]
    Cardoso, N., Abreu, R.: A Distributed Approach to Diagnosis Candidate Generation. In: EPIA’13. (2013) 175–186Google Scholar
  54. [54]
    Abreu, R., van Gemund, A.J.C.: A Low-Cost Approximate Minimal Hitting Set Algorithm and its Application to Model-Based Diagnosis. In: SARA’09. (2009) 2–9Google Scholar
  55. [55]
    Dean, J., Ghemawat, S.: MapReduce: Simplified Data Processing on Large Clusters. Communications of the ACM 51(1) (2008) 107–113Google Scholar
  56. [56]
    Zhao, X., Ouyang, D.: Deriving All Minimal Hitting Sets Based on Join Relation. IEEE Transactions on Systems, Man, and Cybernetics: Systems 45(7) (2015) 1063–1076Google Scholar
  57. [57]
    Lin, L., Jiang, Y.: The computation of Hitting Sets: Review and New Algorithms. Information Processing Letters 86(4) (2003) 177–184Google Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  • Kostyantyn Shchekotykhin
    • 1
  • Dietmar Jannach
    • 2
  • Thomas Schmitz
    • 2
  1. 1.Institute for Applied InformaticsAlpen-Adria-Universität KlagenfurtKlagenfurtAustria
  2. 2.Department of Computer ScienceTU DortmundDortmundGermany

Personalised recommendations