<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>Fedyukovich, Grigory</dc:creator>
  <dc:date>2015-12-10</dc:date>
  <dc:description xmlns:ns0="xml" ns0:lang="en">Software continuously evolves to meet rapidly changing human needs. Each evolved  transformation of a program is expected to preserve important correctness and  security properties. Aiming to assure program correctness after a change, formal  verification techniques, such as Software Model Checking, have recently benefited  from fully automated solutions based on symbolic reasoning and abstraction. However,  the majority of the state-of-the-art model checkers are designed that each new  software version has to be verified from scratch. In this dissertation, we investigate the  new Formal Incremental Verification (FIV) techniques that aim at making software  analysis more efficient by reusing invested efforts between verification runs. In order to  show that FIV can be built on the top of different verification techniques, we focus on  three complementary approaches to automated formal verification. First, we contribute  the FIV technique for SAT-based Bounded Model Checking developed to verify  programs with (possibly recursive) functions with respect to the set of pre-defined  assertions. We present the function-summarization framework based on Craig  interpolation that allows extracting and reusing over- approximations of the function  behaviors. We introduce the algorithm to revalidate the summaries of one program  locally in order to prevent re-verification of another program from scratch. Second, we  contribute the technique for simulation relation synthesis for loop-free programs that do  not necessarily contain assertions. We introduce an SMT-based abstraction- refinement algorithm that proceeds by guessing a relation and checking whether it is a  simulation relation. We present a novel algorithm for discovering simulations  symbolically, by means of solving ∀∃-formulas and extracting witnessing Skolem  relations. Third, we contribute the FIV technique for SMT-based Unbounded Model  Checking developed to verify programs with (possibly nested) loops. We present an  algorithm that automatically derives simulations between programs with different loop  structures. The automatically synthesized simulation relation is then used to migrate  the safe inductive invariants across the evolution boundaries. Finally, we contribute the  implementation and evaluation of all our algorithmic contributions, and confirm that the  state-of-the-art model checking tools can successfully be extended by the FIV  capabilities.</dc:description>
  <dc:format>application/pdf</dc:format>
  <dc:identifier>https://n2t.net/ark:/12658/srd1318701</dc:identifier>
  <dc:identifier>https://susi.usi.ch/global/documents/318701</dc:identifier>
  <dc:identifier>https://susi.usi.ch/documents/318701/files/2015INFO013.pdf</dc:identifier>
  <dc:language>eng</dc:language>
  <dc:relation>info:eu-repo/semantics/altIdentifier/urn/urn:nbn:ch:rero-006-114964</dc:relation>
  <dc:relation>info:eu-repo/semantics/altIdentifier/ark/12658/srd1318701</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">Software analysis</dc:subject>
  <dc:subject xmlns:ns2="xml" ns2:lang="en">Incremental analysis</dc:subject>
  <dc:subject xmlns:ns3="xml" ns3:lang="en">Formal verification</dc:subject>
  <dc:subject xmlns:ns4="xml" ns4:lang="en">Model checking</dc:subject>
  <dc:subject xmlns:ns5="xml" ns5:lang="en">Bounded model checking</dc:subject>
  <dc:subject xmlns:ns6="xml" ns6:lang="en">Unbounded model checking</dc:subject>
  <dc:subject xmlns:ns7="xml" ns7:lang="en">Invariant inference</dc:subject>
  <dc:subject xmlns:ns8="xml" ns8:lang="en">Symbolic reasoning</dc:subject>
  <dc:subject xmlns:ns9="xml" ns9:lang="en">Abstraction</dc:subject>
  <dc:subject xmlns:ns10="xml" ns10:lang="en">Simulation relation</dc:subject>
  <dc:subject xmlns:ns11="xml" ns11:lang="en">Inductive synthesis</dc:subject>
  <dc:subject xmlns:ns12="xml" ns12:lang="en">SAT solving</dc:subject>
  <dc:subject xmlns:ns13="xml" ns13:lang="en">SMT solving</dc:subject>
  <dc:subject xmlns:ns14="xml" ns14:lang="en">Craig interpolation</dc:subject>
  <dc:subject xmlns:ns15="xml" ns15:lang="en">Quantifier elimination</dc:subject>
  <dc:subject xmlns:ns16="xml" ns16:lang="en">Skolemization</dc:subject>
  <dc:subject xmlns:ns17="xml" ns17:lang="en">Horn clauses</dc:subject>
  <dc:subject>info:eu-repo/classification/udc/004</dc:subject>
  <dc:title xmlns:ns18="xml" ns18:lang="en">Automated incremental software verification</dc:title>
  <dc:type>http://purl.org/coar/resource_type/c_db06</dc:type>
</oai_dc:dc>
