<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>Pezzè, Mauro</dc:contributor>
  <dc:creator>Chen, Meixian</dc:creator>
  <dc:date>2018-05-24</dc:date>
  <dc:description xmlns:ns0="xml" ns0:lang="en">Symbolic analysis is an important element of program verification and automatic testing. Symbolic analysis  techniques abstract program properties as expressions of symbolic input values to characterise the program  logical constraints, and rely on Satisfiability Modulo Theories (SMT) solvers to both validate the satisfiability of the  constraint expression and verify the corresponding program properties. Despite the impressive improvements of  constraint solving and the availability of mature solvers, constraint solving still represents a main bottleneck  towards efficient and scalable symbolic program analysis. The work on the SMT bottleneck proceeds along two  main research lines: (i) optimisation approaches that assist and complement the solvers in the context of the  program analysis in various ways, and (ii) reuse approaches that reduce the invocation of constraint solvers, by  reusing proofs while solving constraints during symbolic analysis. This thesis contributes to the research in reuse  approaches, with REusing-Constraint- proofs-in-symbolic-AnaLysis (ReCal), a new approach for reusing proofs  across constraints that recur during analysis. ReCal advances over state-of-the-art approaches for reusing  constraints by (i) proposing a novel canonical form to efficiently store and retrieve equivalent and related-by- implication constraints, and (ii) defining a parallel framework for GPU-based platforms to optimise the storage and  retrieval of constraints and reusable proofs. Equivalent constraints vary widely due to the program specific details.  This thesis defines a canonical form of constraints in the context of symbolic analysis, and develops an original  canonicalisation algorithm to generate the canonical form. The canonical form turns the complex problem of  deciding the equivalence of two constraints to the simple problem of comparing for equality their canonical forms,  thus enabling efficient catching recurring constraints during symbolic analysis. Constraints can become extremely  large when analysing complex systems, and handling large constraints may introduce a heavy overhead, thus  harming the scalability of proof-reusing approaches. The ReCal parallel framework largely improves both the  performance and scalability of reusing proofs by benefitting from Graphics Processing Units (GPU) platforms that  provide thousands of computing units working in parallel. The parallel ReCal framework ReCal-gpu achieves a 10- times speeding up in constraint solving during symbolic execution of various programs.</dc:description>
  <dc:format>application/pdf</dc:format>
  <dc:identifier>https://localhost:5000/ark:/12658/srd1318899</dc:identifier>
  <dc:identifier>https://susi.usi.ch/global/documents/318899</dc:identifier>
  <dc:identifier>https://susi.usi.ch/documents/318899/files/2018INFO007.pdf</dc:identifier>
  <dc:language>eng</dc:language>
  <dc:relation>info:eu-repo/semantics/altIdentifier/urn/urn:nbn:ch:rero-006-117424</dc:relation>
  <dc:relation>info:eu-repo/semantics/altIdentifier/ark/12658/srd1318899</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">Symbolic analysis</dc:subject>
  <dc:subject xmlns:ns2="xml" ns2:lang="en">Symbolic execution</dc:subject>
  <dc:subject xmlns:ns3="xml" ns3:lang="en">Constraint solving</dc:subject>
  <dc:subject xmlns:ns4="xml" ns4:lang="en">Proof reusing</dc:subject>
  <dc:subject>info:eu-repo/classification/udc/004</dc:subject>
  <dc:title xmlns:ns5="xml" ns5:lang="en">Reusing constraint proofs in symbolic analysis</dc:title>
  <dc:type>http://purl.org/coar/resource_type/c_db06</dc:type>
</oai_dc:dc>
