Return to search

A Linter for Static Analysis of MiniZinc Models

MiniZinc is a modelling language for constraint satisfaction and optimisation problems. It can be used to solve difficult problems by declaratively modelling them and giving them to a generic solver. A linter, a tool for static analysis, is implemented for MiniZinc to provide analysis for improving models. Suggesting rewrites that will speed up solving, removing unnecessary constructs, and pointing out potential problems are examples of the analysis this tool provides. A method for finding points of interest in abstract syntax trees (parsed models) is designed and implemented. The linter is tested and evaluated against models in the MiniZinc Benchmarks, a collection of models used to benchmark solvers. The result from running the linter on one of the models from the benchmarks is more closely inspected and evaluated. The suggestions were correct and made the model simpler, but, unfortunately, there was no noticeable impact on the solving speed.

Identiferoai:union.ndltd.org:UPSALLA1/oai:DiVA.org:uu-452285
Date January 2021
CreatorsRimskog, Erik
PublisherUppsala universitet, Institutionen för informationsteknologi
Source SetsDiVA Archive at Upsalla University
LanguageEnglish
Detected LanguageEnglish
TypeStudent thesis, info:eu-repo/semantics/bachelorThesis, text
Formatapplication/pdf
Rightsinfo:eu-repo/semantics/openAccess
RelationUPTEC IT, 1401-5749 ; 21022

Page generated in 0.0021 seconds