Strings are extensively used in modern programming languages and constraints over strings of unknown length occur in a wide range of real-world applications such as software analysis and verification, testing, model checking, and web security. Nevertheless, practically no constraint programming solver natively supports string constraints. We introduce string variables and a suitable set of string constraints as builtin features of the MiniZinc modelling language. Furthermore, we define an interpreter for converting a MiniZinc model with strings into a FlatZinc instance relying only on integer variables. This conversion is obtained via rewrite rules, and does not require any extension of the existing FlatZinc specification. This provides a user-friendly interface for modelling combinatorial problems with strings, and enables both string and non-string solvers to actually solve such problems.

MiniZinc with strings / Amadini R.; Flener P.; Pearson J.; Scott J.D.; Stuckey P.J.; Tack G.. - ELETTRONICO. - 10184:(2017), pp. 59-75. (Intervento presentato al convegno 26th International Symposium on Logic-Based Program Synthesis and Transformation, LOPSTR 2016 tenutosi a gbr nel 2016) [10.1007/978-3-319-63139-4_4].

MiniZinc with strings

Amadini R.
;
2017

Abstract

Strings are extensively used in modern programming languages and constraints over strings of unknown length occur in a wide range of real-world applications such as software analysis and verification, testing, model checking, and web security. Nevertheless, practically no constraint programming solver natively supports string constraints. We introduce string variables and a suitable set of string constraints as builtin features of the MiniZinc modelling language. Furthermore, we define an interpreter for converting a MiniZinc model with strings into a FlatZinc instance relying only on integer variables. This conversion is obtained via rewrite rules, and does not require any extension of the existing FlatZinc specification. This provides a user-friendly interface for modelling combinatorial problems with strings, and enables both string and non-string solvers to actually solve such problems.
2017
26th International Symposium on Logic-Based Program Synthesis and Transformation, LOPSTR 2016
59
75
MiniZinc with strings / Amadini R.; Flener P.; Pearson J.; Scott J.D.; Stuckey P.J.; Tack G.. - ELETTRONICO. - 10184:(2017), pp. 59-75. (Intervento presentato al convegno 26th International Symposium on Logic-Based Program Synthesis and Transformation, LOPSTR 2016 tenutosi a gbr nel 2016) [10.1007/978-3-319-63139-4_4].
Amadini R.; Flener P.; Pearson J.; Scott J.D.; Stuckey P.J.; Tack G.
File in questo prodotto:
Eventuali allegati, non sono esposti

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11585/708549
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo

Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 11
  • ???jsp.display-item.citation.isi??? 3
social impact