• DocumentCode
    3723032
  • Title

    Quantification of Software Changes through Probabilistic Symbolic Execution (N)

  • Author

    Antonio Filieri;Corina S. Pasareanu;Guowei Yang

  • Author_Institution
    Univ. of Stuttgart, Stuttgart, Germany
  • fYear
    2015
  • Firstpage
    703
  • Lastpage
    708
  • Abstract
    Characterizing software changes is fundamental for software maintenance. However existing techniques are imprecise leading to unnecessary maintenance efforts. We introduce a novel approach that computes a precise numeric characterization of program changes, which quantifies the likelihood of reaching target program events (e.g., assert violations or successful termination) and how that evolves with each program update, together with the percentage of inputs impacted by the change. This precise characterization leads to a natural ranking of different program changes based on their probability of execution and their impact on target events. The approach is based on model counting over the constraints collected with a symbolic execution of the program, and exploits the similarity between program versions to reduce cost and improve the quality of analysis results. We implemented our approach in the Symbolic PathFinder tool and illustrate it on several Java case studies, including the evaluation of different program repairs, mutants used in testing, or incremental analysis after a change.
  • Keywords
    "Probabilistic logic","Maintenance engineering","Software","Java","IP networks","Probability","Computational modeling"
  • Publisher
    ieee
  • Conference_Titel
    Automated Software Engineering (ASE), 2015 30th IEEE/ACM International Conference on
  • Type

    conf

  • DOI
    10.1109/ASE.2015.78
  • Filename
    7372058