Property-Based Testing for Parameter Learning of Probabilistic Graphical Models

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 12279)


Code quality is a requirement for successful and sustainable software development. The emergence of Artificial Intelligence and data driven Machine Learning in current applications makes customized solutions for both data as well as code quality a requirement. The diversity and the stochastic nature of Machine Learning algorithms require different test methods, each of which is suitable for a particular method. Conventional unit tests in test-automation environments provide the common, well-studied approach to tackle code quality issues, but Machine Learning applications pose new challenges and have different requirements, mostly as far the numerical computations are concerned. In this research work, a concrete use of property-based testing for quality assurance in the parameter learning algorithm of a probabilistic graphical model is described. The necessity and effectiveness of this method in comparison to unit tests is analyzed with concrete code examples for enhanced retraceability and interpretability, thus highly relevant for what is called explainable AI.


Machine learning Probabilistic graphical models Property-based testing 


  1. 1.
    On testing machine learning programs. J. Syst. Softw. 164, 110542 (2020).
  2. 2.
    Bishop, C.: Pattern Recognition and Machine Learning. Springer, New York (2006)Google Scholar
  3. 3.
    Braiek, H.B., Khomh, F.: On testing machine learning programs. J. Syst. Softw. 164, 110542 (2020)CrossRefGoogle Scholar
  4. 4.
    Dutta, S., Legunsen, O., Huang, Z., Misailovic, S.: Testing probabilistic programming systems. In: Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, pp. 574–586 (2018)Google Scholar
  5. 5.
    Grosse, R.B., Duvenaud, D.K.: Testing MCMC code. arXiv preprint. arXiv:1412.5218 (2014)
  6. 6.
    Jensen, F.V., Nielsen, T.D.: Bayesian Networks and Decision Graphs, 2nd edn. Springer, New York (2007)CrossRefGoogle Scholar
  7. 7.
    Koller, D., Friedman, N.: Probabilistic Graphical Models: Principles and Techniques. MIT Press, Cambridge (2009)zbMATHGoogle Scholar
  8. 8.
    Murphy, K.P.: Machine Learning: A Probabilistic Perspective. MIT press, Cambridge (2012)zbMATHGoogle Scholar
  9. 9.
    Nilsson, R.: ScalaCheck: the definitive guide. Artima (2014)Google Scholar
  10. 10.
    Okken, B.: Python Testing with Pytest: Simple, Rapid, Effective, and Scalable. Pragmatic Bookshelf (2017)Google Scholar
  11. 11.
    Pfeffer, A.: Practical Probabilistic Programming. Manning Publications, Greenwich (2016)Google Scholar
  12. 12.
    Saranti, A., Taraghi, B., Ebner, M., Holzinger, A.: Insights into learning competence through probabilistic graphical models. In: Holzinger, A., Kieseberg, P., Tjoa, A.M., Weippl, E. (eds.) CD-MAKE 2019. LNCS, vol. 11713, pp. 250–271. Springer, Cham (2019). Scholar
  13. 13.
    Sharma, A., Wehrheim, H.: Testing monotonicity of machine learning models. arXiv:2002.12278 (2020)
  14. 14.
    Taraghi, B., Saranti, A., Legenstein, R., Ebner, M.: Bayesian modelling of student misconceptions in the one-digit multiplication with probabilistic programming. In: Proceedings of the Sixth International Conference on Learning Analytics & Knowledge, pp. 449–453 (2016)Google Scholar
  15. 15.
    Zhang, J.M., Harman, M., Ma, L., Liu, Y.: Machine learning testing: survey, landscapes and horizons. arXiv preprint arXiv:1906.10742 (2019)

Copyright information

© IFIP International Federation for Information Processing 2020

Authors and Affiliations

  1. 1.Medical University GrazGrazAustria
  2. 2.xAI Lab, Alberta Machine Intelligence InstituteEdmontonCanada
  3. 3.Department Educational TechnologyGraz University of TechnologyGrazAustria

Personalised recommendations