Probabilistic Software Modeling

06/23/2018
by   Hannes Thaller, et al.
0

Software Engineering and the implementation of software has become a challenging task as many tools, frameworks and languages must be orchestrated into one functioning piece. This complexity increases the need for testing and analysis methodologies that aid the developers and engineers as the software grows and evolves. The amount of resources that companies budget for testing and analysis is limited, highlighting the importance of automation for economic software development. We propose Probabilistic Software Modeling, a new paradigm for software modeling that builds on the fact that software is an easy-to-monitor environment from which statistical models can be built. Probabilistic Software Modeling provides increased comprehension for engineers without changing the level of abstraction. The approach relies on the recursive decomposition principle of object-oriented programming to build hierarchies of probabilistic models that are fitted via observations collected at runtime of a software system. This leads to a network of models that mirror the static structure of the software system while modeling its dynamic runtime behavior. The resulting models can be used in applications such as test-case generation, anomaly and outlier detection, probabilistic program simulation, or state predictions. Ideally, probabilistic software modeling allows the use of the entire spectrum of statistical modeling and inference for software, enabling in-depth analysis and generative procedures for software.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/17/2019

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

Software systems are complex, and behavioral comprehension with the incr...
research
08/12/2015

OOASP: Connecting Object-oriented and Logic Programming

Most of contemporary software systems are implemented using an object-or...
research
01/21/2020

Towards Semantic Clone Detection via Probabilistic Software Modeling

Semantic clones are program components with similar behavior, but differ...
research
04/26/2023

Systems Modeling for novice engineers to comprehend software products better

One of the key challenges for a novice engineer in a product company is ...
research
08/11/2020

Semantic Clone Detection via Probabilistic Software Modeling

Semantic clone detection is the process of finding program elements with...
research
07/16/2023

Communicative Agents for Software Development

Software engineering is a domain characterized by intricate decision-mak...
research
08/03/2018

Lightweight Multilingual Software Analysis

Developer preferences, language capabilities and the persistence of olde...

Please sign up or login with your details

Forgot password? Click here to reset