<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>Rollini, Simone Fulvio</dc:creator>
  <dc:date>2013-10-23</dc:date>
  <dc:description xmlns:ns0="xml" ns0:lang="en">Model checking is one of the most appreciated methods for automated  formal verification of software and hardware systems. The main  challenge in model checking, i.e. scalability to complex systems of  extremely large size, has been successfully addressed by means of  symbolic techniques, which rely on an efficient representation and  manipulation of the systems based on first order logic. Symbolic model  checking has been considerably enhanced with the introduction in the  last years of Craig interpolation as a means of overapproximation.  Interpolants can be efficiently computed from proofs of unsatisfiability  based on their structure. A number of algorithms are available to  generate different interpolants from the same proof; additional  interpolants can be obtained by turning a proof into another proof of  unsatisfiability of the same formula using transformation techniques.  Interpolants are thus not unique, and it is fundamental to understand  which interpolants have the highest quality, resulting in an optimal  verification performance; it is an open problem to determine what  features determine the quality of interpolants, and how they are  connected with the effectiveness in verification. The goal of this thesis  is to identify aspects that make interpolants good, and to develop new  techniques that guide the generation of interpolants in order to improve  the performance of model checking approaches. We contribute to the  state-of-the-art by providing a characterization of quality in terms of  semantic and syntactic features, such as logical strength, size,  presence of quantifiers. We present a family of algorithms that  generalize existing techniques and are able to produce interpolants of  different structure and strength, with and without quantifiers, from the  same proof. These algorithms are examined in the context of various  model checking applications, where collections of interdependent  interpolants satisfying particular properties are needed; we formally  analyze the relationships among the properties and derive necessary  and sufficient conditions on the applicability of the algorithms. We  introduce a framework for proof manipulation; it includes a method to  overcome limitations in existing interpolation algorithms for first order  theories, as well as a set of compression algorithms, which, reducing  the size of proofs, consequently reduce the size of interpolants  generated from them. Finally, we provide experimental evidence that  size and logical strength have a significant impact on verification: small  interpolants improve the verification performance, while stronger or  weaker interpolants are beneficial in different model checking  applications. Interpolants are generated from proofs, as produced by  logic solvers. As a secondary line of research, we developed and  successfully tested a hybrid propositional satisfiability solver built on a  model-based stochastic technique known as cross-entropy method.</dc:description>
  <dc:format>application/pdf</dc:format>
  <dc:identifier>https://localhost:5000/ark:/12658/srd1318391</dc:identifier>
  <dc:identifier>https://susi.usi.ch/global/documents/318391</dc:identifier>
  <dc:identifier>https://susi.usi.ch/documents/318391/files/2013INFO006.pdf</dc:identifier>
  <dc:language>eng</dc:language>
  <dc:relation>info:eu-repo/semantics/altIdentifier/urn/urn:nbn:ch:rero-006-112732</dc:relation>
  <dc:relation>info:eu-repo/semantics/altIdentifier/ark/12658/srd1318391</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">Formal verification</dc:subject>
  <dc:subject xmlns:ns2="xml" ns2:lang="en">Model checking</dc:subject>
  <dc:subject xmlns:ns3="xml" ns3:lang="en">Craig interpolation</dc:subject>
  <dc:subject xmlns:ns4="xml" ns4:lang="en">Proof theory</dc:subject>
  <dc:subject xmlns:ns5="xml" ns5:lang="en">Proof transformation</dc:subject>
  <dc:subject xmlns:ns6="xml" ns6:lang="en">Satisfiability</dc:subject>
  <dc:subject>info:eu-repo/classification/udc/004</dc:subject>
  <dc:title xmlns:ns7="xml" ns7:lang="en">Craig Interpolation and proof manipulation : Theory and applications to model checking</dc:title>
  <dc:type>http://purl.org/coar/resource_type/c_db06</dc:type>
</oai_dc:dc>
