<oai_dc:dc xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:oai_dc="http://www.openarchives.org/OAI/2.0/oai_dc/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/oai_dc/ http://www.openarchives.org/OAI/2.0/oai_dc.xsd">
  <dc:contributor>Sharygina, Natasha</dc:contributor>
  <dc:creator>Alberti, Francesco</dc:creator>
  <dc:date>2015-02-17</dc:date>
  <dc:description xmlns:ns0="xml" ns0:lang="en">Recent advances in the areas of automated reasoning and first-order theorem proving  paved the way to the developing of effective tools for the rigorous formal analysis of  computer systems. Nowadays many formal verification frameworks are built over  highly engineered tools (SMT-solvers) implementing decision procedures for quantifier- free fragments of theories of interest for (dis)proving properties of software or  hardware products. The goal of this thesis is to go beyond the quantifier-free case and  enable sound and effective solutions for the analysis of software systems requiring the  usage of quantifiers. This is the case, for example, of software systems handling array  variables, since meaningful properties about arrays (e.g., "the array is sorted") can be  expressed only by exploiting quantification. The first contribution of this thesis is the  definition of a new Lazy Abstraction with Interpolants framework in which arrays can  be handled in a natural manner. We identify a fragment of the theory of arrays admitting  quantifier-free interpolation and provide an effective quantifier-free interpolation  algorithm. The combination of this result with an important preprocessing technique  allows the generation of the required quantified formulae. Second, we prove that  accelerations, i.e., transitive closures, of an interesting class of relations over arrays  are definable in the theory of arrays via Exists-Forall-first order formulae. We further  show that the theoretical importance of this result has a practical relevance: Once the  (problematic) nested quantifiers are suitably handled, acceleration offers a precise (not  over-approximated) alternative to abstraction solutions. Third, we present new  decision procedures for quantified fragments of the theories of arrays. Our decision  procedures are fully declarative, parametric in the theories describing the structure of  the indexes and the elements of the arrays and orthogonal with respect to known  results. Fourth, by leveraging our new results on acceleration and decision  procedures, we show that the problem of checking the safety of an important class of  programs with arrays is fully decidable. The thesis presents along with theoretical  results practical engineering strategies for the effective implementation of a framework  combining the aforementioned results: The declarative nature of our contributions  allows for the definition of an integrated framework able to effectively check the safety  of programs handling array variables while overcoming the individual limitations of the  presented techniques.</dc:description>
  <dc:format>application/pdf</dc:format>
  <dc:identifier>https://n2t.net/ark:/12658/srd1318444</dc:identifier>
  <dc:identifier>https://susi.usi.ch/global/documents/318444</dc:identifier>
  <dc:identifier>https://susi.usi.ch/documents/318444/files/2015INFO003.pdf</dc:identifier>
  <dc:language>eng</dc:language>
  <dc:relation>info:eu-repo/semantics/altIdentifier/urn/urn:nbn:ch:rero-006-114040</dc:relation>
  <dc:relation>info:eu-repo/semantics/altIdentifier/ark/12658/srd1318444</dc:relation>
  <dc:rights>info:eu-repo/semantics/openAccess</dc:rights>
  <dc:rights>License undefined</dc:rights>
  <dc:subject xmlns:ns1="xml" ns1:lang="en">Arrays</dc:subject>
  <dc:subject xmlns:ns2="xml" ns2:lang="en">Verification</dc:subject>
  <dc:subject xmlns:ns3="xml" ns3:lang="en">Satisfiability Modulo Theories</dc:subject>
  <dc:subject xmlns:ns4="xml" ns4:lang="en">Quantifiers</dc:subject>
  <dc:subject xmlns:ns5="xml" ns5:lang="en">Abstraction</dc:subject>
  <dc:subject xmlns:ns6="xml" ns6:lang="en">Acceleration</dc:subject>
  <dc:subject>info:eu-repo/classification/udc/004</dc:subject>
  <dc:title xmlns:ns7="xml" ns7:lang="en">An SMT-based verification framework for software systems handling arrays</dc:title>
  <dc:type>http://purl.org/coar/resource_type/c_db06</dc:type>
</oai_dc:dc>
