<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>Vivanti, Mattia</dc:creator>
  <dc:date>2016-03-02</dc:date>
  <dc:description xmlns:ns0="xml" ns0:lang="en">Data flow testing is a particular form of testing that identifies data flow relations as test objectives. Data flow  testing has recently attracted new interest in the context of testing object oriented systems, since data flow  information is well suited to capture relations among the object states, and can thus provide useful  information for testing method interactions. Unfortunately, classic data flow testing, which is based on static  analysis of the source code, fails to identify many important data flow relations due to the dynamic nature of  object oriented systems. This thesis presents Dynamic Data Flow Testing, a technique which rethinks data  flow testing to suit the testing of modern object oriented software. Dynamic Data Flow Testing stems from  empirical evidence that we collect on the limits of classic data flow testing techniques. We investigate such  limits by means of Dynamic Data Flow Analysis, a dynamic implementation of data flow analysis that  computes sound data flow information on program traces. We compare data flow information collected with  static analysis of the code with information observed dynamically on execution traces, and empirically  observe that the data flow information computed with classic analysis of the source code misses a  significant part of information that corresponds to relevant behaviors that shall be tested. In view of these  results, we propose Dynamic Data Flow Testing. The technique promotes the synergies between dynamic  analysis, static reasoning and test case generation for automatically extending a test suite with test cases  that execute the complex state based interactions between objects. Dynamic Data Flow Testing computes  precise data flow information of the program with Dynamic Data Flow Analysis, processes the dynamic  information to infer new test objectives, which Dynamic Data Flow Testing uses to generate new test cases.  The test cases generated by Dynamic Data Flow Testing exercise relevant behaviors that are otherwise  missed by both the original test suite and test suites that satisfy classic data flow criteria.</dc:description>
  <dc:format>application/pdf</dc:format>
  <dc:identifier>https://susi.usi.ch/global/documents/318822</dc:identifier>
  <dc:identifier>https://n2t.net/ark:/12658/srd1318822</dc:identifier>
  <dc:identifier>https://susi.usi.ch/documents/318822/files/2016INFO001.pdf</dc:identifier>
  <dc:language>eng</dc:language>
  <dc:relation>info:eu-repo/semantics/altIdentifier/urn/urn:nbn:ch:rero-006-115089</dc:relation>
  <dc:relation>info:eu-repo/semantics/altIdentifier/ark/12658/srd1318822</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">Data flow testing</dc:subject>
  <dc:subject xmlns:ns2="xml" ns2:lang="en">Automated test case generation</dc:subject>
  <dc:subject xmlns:ns3="xml" ns3:lang="en">Dynamic software analysis</dc:subject>
  <dc:subject>info:eu-repo/classification/udc/004</dc:subject>
  <dc:title xmlns:ns4="xml" ns4:lang="en">Dynamic data flow testing</dc:title>
  <dc:type>http://purl.org/coar/resource_type/c_db06</dc:type>
</oai_dc:dc>
