Reverse Engineering Code Dependencies: Converting Integer-Based Variability to Propositional Logic

10/12/2021
by   Adam Krafczyk, et al.
0

A number of SAT-based analysis concepts and tools for software product lines exist, that extract code dependencies in propositional logic from the source code assets of the product line. On these extracted conditions, SAT-solvers are used to reason about the variability. However, in practice, a lot of software product lines use integer-based variability. The variability variables hold integer values, and integer operators are used in the conditions. Most existing analysis tools can not handle this kind of variability; they expect pure Boolean conditions. This paper introduces an approach to convert integer-based variability conditions to propositional logic. Running this approach as a preparation on an integer-based product line allows the existing SAT-based analyses to work without any modifications. The pure Boolean formulas, that our approach builds as a replacement for the integer-based conditions, are mostly equivalent to the original conditions with respect to satisfiability. Our approach was motivated by and implemented in the context of a real-world industrial case-study, where such a preparation was necessary to analyze the variability. Our contribution is an approach to convert conditions, that use integer variables, into propositional formulas, to enable easy usage of SAT-solvers on the result. It works well on restricted variables (i.e. variables with a small range of allowed values); unrestricted integer variables are handled less exact, but still retain useful variability information.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
10/12/2021

Reverse Engineering Variability in an Industrial Product Line: Observations and Lessons Learned

Ideally, a variability model is a correct and complete representation of...
research
07/16/2021

Applying Declarative Analysis to Software Product Line Models: An Industrial Study

Software Product Lines (SPLs) are families of related software products ...
research
06/17/2015

SAT-based Analysis of Large Real-world Feature Models is Easy

Modern conflict-driven clause-learning (CDCL) Boolean SAT solvers provid...
research
02/09/2021

Recursive Backdoors for SAT

A strong backdoor in a formula ϕ of propositional logic to a tractable c...
research
09/03/2021

On the proof complexity of MCSAT

Satisfiability Modulo Theories (SMT) and SAT solvers are critical compon...
research
08/09/2021

Modal Logic S5 Satisfiability in Answer Set Programming

Modal logic S5 has attracted significant attention and has led to severa...
research
12/03/2015

Querying with Łukasiewicz logic

In this paper we present, by way of case studies, a proof of concept, ba...

Please sign up or login with your details

Forgot password? Click here to reset