Toronto Metropolitan University
Browse
Sangha_Jasdeep_Kaur.pdf (502.46 kB)

Probabilistic Program Execution is a Viable Way to Find Domains from Software

Download (502.46 kB)
thesis
posted on 2021-05-24, 13:11 authored by Jasdeep Kaur Sangha
Program domains are useful in many areas of software engineering including software reliability, testing, and program comprehension. Program paths provide understanding of program dynamic behaviour. In this work, we show that it is possible to extract domains and the paths they represent from software using program execution based algorithms. This thesis looks at five different execution based algorithms for identifying the domains/paths. These algorithms work differently to generate the domains from a possibly infinite set of possible paths. Two of the algorithms utilize an operational profile that describes the probability distribution of possible inputs. This allows them to generate the most important paths first. These program execution based algorithms were explored using some simple functions. The results showed that the Probabilistic Execution algorithm produces the domains in the strictly most significant order, limited only by the equality of the integration available. The Monte Carlo Execution algorithm provided almost the same accuracy but is somewhat simpler. Of the algorithms that do not utilize operational profiles, Random Execution worked the best.

History

Language

English

Degree

  • Master of Science

Program

  • Computer Science

Granting Institution

Ryerson University

LAC Thesis Type

  • Thesis

Year

2012

Usage metrics

    Computer Science (Theses)

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC