Date of Award
7-2021
Document Type
Dissertation
Degree Name
Doctor of Philosophy (PhD)
Department
Computer Engineering and Sciences
First Advisor
Marius C. Silaghi
Second Advisor
Eugene Dshalalow
Third Advisor
Debasis Mitra
Fourth Advisor
Lucas Stephane
Abstract
A software design methodology is proposed involving the development of approximate models based on reputation systems and Bayesian Networks capturing probabilistic representations of expected behavior, which are further used in developing and running tests that can dynamically diagnose bugs and attacks during production. While automation of the Software Design itself is still a very remote goal, it can already benefit from AI tools and ideas. One of the main challenges with automating software design methods, for any product with modest complexity, is the mere intractability of enumerating all requirements of the product usage, when also taking into account all (including malicious) user intentions, leading to the intractability of generating exact design specifications and exhaustive tests. We show how approximate models of the design can exploit AI techniques to represent the system sufficiently well to derive meaningful tests, warning when the environment is not behaving as designed and detecting both bugs and attacks. We also show how the Bayesian models can be converted into reputation models. We validate the proposed methodologies with two different applications: a device driver for Wi-Fi Direct, and a website, MindBlog.com. In the Wi-Fi Direct use case, we successfully build simple classic Bayesian networks using expert knowledge, further transforming some Bayesian networks into reputation networks. In the MindBlog.com use case, we show that the procedure is flexible and can even detect when the developers found bugs and were attempting to debug their application yielding anomalous behavior. Our methodology not only extends comparative A/B testing by allowing the engineer to know what design element did not match the user expectations; but also informs the engineer in real time when the user's expectations have changed away from the original design. Thus it enables the engineer to be proactive in addressing such user expectation changes. Furthermore, by using Bayesian networks we can focus on only the design elements that give use concern helping both with the communication of high level desired properties and with testing of deviations.
Recommended Citation
Atkinson, Timothy James, "Belief Networks as Approximated Models for Testing the Design in Production" (2021). Theses and Dissertations. 672.
https://repository.fit.edu/etd/672
Comments
Copyright held by author