Probabilistic Software Modeling: A Data-driven Paradigm for Software Analysis

12/17/2019
by   Hannes Thaller, et al.
0

Software systems are complex, and behavioral comprehension with the increasing amount of AI components challenges traditional testing and maintenance strategies.The lack of tools and methodologies for behavioral software comprehension leaves developers to testing and debugging that work in the boundaries of known scenarios. We present Probabilistic Software Modeling (PSM), a data-driven modeling paradigm for predictive and generative methods in software engineering. PSM analyzes a program and synthesizes a network of probabilistic models that can simulate and quantify the original program's behavior. The approach extracts the type, executable, and property structure of a program and copies its topology. Each model is then optimized towards the observed runtime leading to a network that reflects the system's structure and behavior. The resulting network allows for the full spectrum of statistical inferential analysis with which rich predictive and generative applications can be built. Applications range from the visualization of states, inferential queries, test case generation, and anomaly detection up to the stochastic execution of the modeled system. In this work, we present the modeling methodologies, an empirical study of the runtime behavior of software systems, and a comprehensive study on PSM modeled systems. Results indicate that PSM is a solid foundation for structural and behavioral software comprehension applications.

READ FULL TEXT
research
06/23/2018

Probabilistic Software Modeling

Software Engineering and the implementation of software has become a cha...
research
01/21/2020

Towards Semantic Clone Detection via Probabilistic Software Modeling

Semantic clones are program components with similar behavior, but differ...
research
01/21/2020

Towards Fault Localization via Probabilistic Software Modeling

Software testing helps developers to identify bugs. However, awareness o...
research
08/11/2020

Semantic Clone Detection via Probabilistic Software Modeling

Semantic clone detection is the process of finding program elements with...
research
02/13/2019

Adapting Quality Assurance to Adaptive Systems: The Scenario Coevolution Paradigm

From formal and practical analysis, we identify new challenges that self...
research
08/12/2023

Smart Knowledge Transfer using Google-like Search

To address the issue of rising software maintenance cost due to program ...
research
07/26/2018

Trend Analysis on the Metadata of Program Comprehension Papers

As program comprehension is a vast research area, it is necessary to get...

Please sign up or login with your details

Forgot password? Click here to reset