Quantifying Information Leaks via Model Counting Modulo TheoriesQuoc-Sang Phan
The 41st CREST Open Workshop - Software Engineering And Computer Science Using Information
http://crest.cs.ucl.ac.uk/cow/the_41st_cow_27_and_28_april_2015/
The Anderson–Darling test is a statistical test of whether a given sample of data is drawn from a given probability distribution. In its basic form, the test assumes that there are no parameters to be estimated in the distribution being tested, in which case the test and its set of critical values is distribution-free.
This is an implementation of Research paper titled -
Spectrum Sensing in Cognitive Radio Using Goodness of Fit Testing by Wang, Yang, Zhao and Zhang
Quantifying Information Leaks via Model Counting Modulo TheoriesQuoc-Sang Phan
The 41st CREST Open Workshop - Software Engineering And Computer Science Using Information
http://crest.cs.ucl.ac.uk/cow/the_41st_cow_27_and_28_april_2015/
The Anderson–Darling test is a statistical test of whether a given sample of data is drawn from a given probability distribution. In its basic form, the test assumes that there are no parameters to be estimated in the distribution being tested, in which case the test and its set of critical values is distribution-free.
This is an implementation of Research paper titled -
Spectrum Sensing in Cognitive Radio Using Goodness of Fit Testing by Wang, Yang, Zhao and Zhang
Lecture 04 Logical Group of InstructionsZeeshan Ahmed
Course on Microprocessor Theory and Interfacing. This is fifth lecture on logical group of instructions of 8085 microprocessor. This lecture has a all logical instructions along with solved examples
This presentation gives the details about the data types available in Embedded C. It also discusses the pros and cons of writing codes in C for 8051. Different example codes are considered.
7.1 Data types and time delay in 8051 C
7.2 I/O programming in 8051 C
7.3 Logic operations in 8051 C
7.4 Data conversion programs in 8051 C
7.5 Accessing code ROM space in 8051 C
7.6 Data serialization using 8051 C
In this Scilab tutorial, we introduce readers to the Control System Toolbox that is available in Scilab/Xcos and known as CACSD. This first tutorial is dedicated to "Linear Time Invariant" (LTI) systems and their representations in Scilab.
Lecture 04 Logical Group of InstructionsZeeshan Ahmed
Course on Microprocessor Theory and Interfacing. This is fifth lecture on logical group of instructions of 8085 microprocessor. This lecture has a all logical instructions along with solved examples
This presentation gives the details about the data types available in Embedded C. It also discusses the pros and cons of writing codes in C for 8051. Different example codes are considered.
7.1 Data types and time delay in 8051 C
7.2 I/O programming in 8051 C
7.3 Logic operations in 8051 C
7.4 Data conversion programs in 8051 C
7.5 Accessing code ROM space in 8051 C
7.6 Data serialization using 8051 C
In this Scilab tutorial, we introduce readers to the Control System Toolbox that is available in Scilab/Xcos and known as CACSD. This first tutorial is dedicated to "Linear Time Invariant" (LTI) systems and their representations in Scilab.
In this presentation we introduce a family of gossiping algorithms whose members share the same structure though they vary their performance in function of a combinatorial parameter. We show that such parameter may be considered as a “knob” controlling the amount of communication parallelism characterizing the algorithms. After this we introduce procedures to operate the knob and choose parameters matching the amount of communication channels currently provided by the available communication system(s). In so doing we provide a robust mechanism to tune the production of requests for communication after the current operational conditions of the consumers of such requests. This can be used to achieve high performance and programmatic avoidance of undesirable events such as message collisions.
Paper available at https://dl.dropboxusercontent.com/u/67040428/Articles/pdp12.pdf
This paper reviews algorithmic information theory, which is an attempt to apply information-theoretic and probabilistic
ideas to recursive function theory. Typical concerns in this approach are, for example, the number of bits of information required to
specify an algorithm, or the probability that a program whose bits are chosen by coin flipping produces a given output. During the past
few years the definitions of algorithmic information theory have been reformulated. The basic features of the new formalism are presented
here and certain results of R. M. Solovay are reported.
Medical Image Segmentation Using Hidden Markov Random Field A Distributed Ap...EL-Hachemi Guerrout
Medical imaging applications produce large sets of similar images. The huge amount of data makes the manual
analysis and interpretation a fastidious task. Medical image segmentation is thus an important process in image processing
used to partition the images into different regions (e.g. gray matter, white matter and cerebrospinal fluid). Hidden Markov
Random Field (HMRF) Model and Gibbs distributions provide powerful tools for image modeling. In this paper, we use a
HMRF model to perform segmentation of volumetric medical images. We have a problem with incomplete data. We seek
the segmented images according to the MAP (Maximum A Posteriori) criterion. MAP estimation leads to the minimization
of an energy function. This problem is computationally intractable. Therefore, optimizations techniques are used to
compute a solution. We will evaluate the segmentation upon two major factors: the time of calculation and the quality of
segmentation. Processing time is reduced by distributing the computation of segmentation on a powerful and inexpensive
architecture that consists of a cluster of personal computers. Parallel programming was done by using the standard MPI
(Message Passing Interface).
Advanced atpg based on fan, testability measures and fault reductionVLSICS Design
A new algorithm based on Input Vector Control (IVC) technique is proposed, which shifts logic gate of a
circuit to its minimum leakage state, when device goes into its idle state. Leakage current in CMOS VLSI
circuit has become a major constrain in a battery operated device for technology node below 90nm, as it
drains the battery even when a circuit is in standby mode. Major concern is the leakage even in run time
condition, here aim is to focus on run time leakage reduction technique of integrated Circuit. It is inherited
by stacking effect when the series transistors are maximized in OFF state condition. This method is
independent of process technology and does not require any additional power supply. This paper gives an
optimized solution of input pattern determination of some small circuit to find minimum leakage vector
considering promising and non-promising node which helps to reduce the time complexity of the algorithm.
Proposed algorithm is simulated using HSPICE simulator for 2 input NAND gate and different standard
logic cells and achieved 94.2% and 54.59 % average leakage power reduction for 2 input NAND cell and
different logics respectively.
Recent years have seen the emergence of several static analysis techniques for reasoning about programs. This talk presents several major classes of techniques and tools that implement these techniques. Part of the presentation will be a demonstration of the tools.
Dr. Subash Shankar is an Associate Professor in the Computer Science department at Hunter College, CUNY. Prior to joining CUNY, he received a PhD from the University of Minnesota and was a postdoctoral fellow in the model checking group at Carnegie Mellon University. Dr. Shankar also has over 10 years of industrial experience, mostly in the areas of formal methods and tools for analyzing hardware and software systems.
Extended Fuzzy C-Means with Random Sampling Techniques for Clustering Large DataAM Publications
Big data are any data that you cannot load into your computer’s primary memory. Clustering is a primary
task in pattern recognition and data mining. We need algorithms that scale well with the data size. The former
implementation, literal Fuzzy C-Means is linear or serialized. FCM algorithm attempts to partition a finite collection
of n elements into collection of c fuzzy clusters. So, given a finite set of data, this algorithm returns a list of c cluster
centers. However it doesn't scale well and slows down with increase in the size of data and is thus impractical and
sometimes undesirable. In this paper, we propose an extended version of fuzzy c-means clustering algorithm by means of various random sampling techniques to study which method scales well for large or very large data.
A sliding door is a type of door which opens horizontally by sliding, whereby the door is either mounted on or suspended from a track. Some sliding doors contain a motor and activation system to open them. These are called sliding door operators. Sliding door operators are typically used on the outside doors of large retail businesses.
A sliding door operator reopens the door if it closes into an obstacle. However, most operators use sensors to prevent the door from ever coming into contact with a user in the first place.
The simplest sensor is a light beam across the opening. An obstacle in the path of the closing door breaks the beam, indicating its presence. Infrared and radar safety sensors are also commonly used.
We introduce in this paper a new flow-driven and constraint-based approach for error localization. The input is a faulty program for which a counter-example and a postcondition are provided. To identify helpful information for error location, we generate a constraint system for the paths of the control flow graph for which at most k conditional statements may be erroneous. Then, we calculate Minimal Correction Sets (MCS) of bounded size for each of these paths. The removal of one of these sets of constraints yields a maximal satisfiable subset, in other words, a maximal subset of constraints satisfying the post condition. To compute the MCS, we extend the algorithm proposed by Liffiton and Sakallah in order to handle programs with numerical statements more efficiently. The main advantage of this flow-driven approach is that the computed sets of suspicious instructions are small, each of them being associated to an identified path. Moreover, the constraint-programming based framework allows mixing Boolean and numerical constraints in an efficient and straightforward way. Preliminary experiments are quite encouraging.
It presents various approximation schemes including absolute approximation, epsilon approximation and also presents some polynomial time approximation schemes. It also presents some probabilistically good algorithms.
IE 425 Homework 10Submit on Tuesday, 12101.(20 pts) C.docxsheronlewthwaite
IE 425 Homework 10
Submit on Tuesday, 12/10
1.(20 pts) Consider the M/M/1/∞ queuing system descried in Problem 5 in Homework 9. Show
that:
(a) (11 pts) The average number of customers in the system is:
L =
λ
µ−λ
Hint:
L =
∞∑
n=0
nπn,
∞∑
n=0
nρn−1 =
d
dρ
∞∑
n=0
ρn =
d
dρ
(
1
1 −ρ
)
=
1
(1 −ρ)2
(b) (3 pts) The average waiting time in the system (from entrance to exist) is:
W =
1
µ−λ
(c) (3 pts) The average waiting time in the queue, not including service, is:
W0 =
λ
µ(µ−λ)
(d) (3 pts) The average number of customers in the queue, not including service, is:
L0 =
λ2
µ(µ−λ)
2.(15 pts) Consider the M/M/c/∞ queuing system descried in Problem 6 in Homework 9. Show
that:
L0 =
π0
c!
(
λ
µ
)c (
λ
cµ
)(
1 −
λ
cµ
)−2
Then, using Little’s law, we can compute:
W0 =
L0
λ
, W = W0 +
1
µ
, L = λW = λ
(
W0 +
1
µ
)
= L0 +
λ
µ
Hint:
L0 =
∞∑
n=c
(n− c)πn =
∞∑
m=0
mπc+m,
∞∑
m=0
mρm =
ρ
(1 −ρ)2
3.(15 pts) Consider the M/M/∞/∞ queuing system descried in Problem 7 in Homework 9. Show
that:
L =
λ
µ
, W =
1
µ
, W0 = 0, L0 = 0
4.(15 pts) Consider the M/M/c/c queuing system descried in Problem 8 in Homework 9.
(a) (3 pts) Explain why L0 = 0 and W0 = 0.
(b) (3 pts) Explain why W = 1
µ
.
1
(c) (5 pts) Explain why the mean arrival rate to the system is λ(1 −πc)
(d) (4 pts) Show that:
L =
λ
µ
(1 −πc)
5. (20 pts) Consider the M/M/c/k queuing system descried in Problem 9 in Homework 9. Show
that:
(a) (14 pts)
L0 =
π0
c!
(
λ
µ
)c (
λ
cµ
)(
1 −
λ
cµ
)−2 [
1 −
(
λ
cµ
)k−c
− (k − c)
(
λ
cµ
)k−c (
1 −
λ
cµ
)]
Hint:
L0 =
∞∑
n=c
(n− c)πn,
M∑
m=0
mρm−1 =
d
dρ
M∑
m=0
ρm
(b) (2 pts) Explain why:
L = L0 +
c−1∑
n=0
nπn + c
(
1 −
c−1∑
n=0
πn
)
(c) (2 pts) Explain why the mean arrival rate to the system is λ(1 −πk).
(d) (2 pts) Show that:
W0 =
L0
λ(1 −πk)
W =
L0
λ(1 −πk)
+
1
µ
6. (15 pts) For the M/M/c/∞ queuing system with a finite calling population N descried in
Problem 10 in Homework 9, it is more convenient to use the generic formulas to compute the queue
length and the number of customers in the system :
L0 =
N∑
n=c+1
(n− c)πn
L = L0 +
c−1∑
n=0
nπn + c
(
1 −
c−1∑
n=0
πn
)
(a) (10 pts) Show that the mean arrival rate to the system is:
N∑
n=0
(N −n)λπn = · · · = λ(N −L)
(b) (5 pts) Show that:
W0 =
L0
λ(N −L)
W =
L0
λ(N −L)
+
1
µ
2
IE 425 Homework 9
Submit on Tuesday, 12/3
1. Report your notebook score for Midterm Exam 2 along with a picture as the proof.
2. (11 pts) Consider a Discrete State Continuous Time Markov Chain (DSCTMC) defined on
Ω = {1, 2, 3} with generator matrix G:
G =
−6 2 41 −2 1
3 1 −4
Suppose the DSCTMC is in state 1.
(a) What is the expected time until the DSCTMC leaves state 1?
(b) What is the probability that the DSCTMC will jump to state 2 after it leaves state 1?
In Problem 3 ∼ Problem 10, model the systems as DSCTMCs. For each DSCTMC:
(a) Define the states of the DSCTMC and write down their holding time distributio ...
Similar to All-Solution Satisfiability Modulo Theories: applications, algorithms and benchmarks (20)
Introduction:
RNA interference (RNAi) or Post-Transcriptional Gene Silencing (PTGS) is an important biological process for modulating eukaryotic gene expression.
It is highly conserved process of posttranscriptional gene silencing by which double stranded RNA (dsRNA) causes sequence-specific degradation of mRNA sequences.
dsRNA-induced gene silencing (RNAi) is reported in a wide range of eukaryotes ranging from worms, insects, mammals and plants.
This process mediates resistance to both endogenous parasitic and exogenous pathogenic nucleic acids, and regulates the expression of protein-coding genes.
What are small ncRNAs?
micro RNA (miRNA)
short interfering RNA (siRNA)
Properties of small non-coding RNA:
Involved in silencing mRNA transcripts.
Called “small” because they are usually only about 21-24 nucleotides long.
Synthesized by first cutting up longer precursor sequences (like the 61nt one that Lee discovered).
Silence an mRNA by base pairing with some sequence on the mRNA.
Discovery of siRNA?
The first small RNA:
In 1993 Rosalind Lee (Victor Ambros lab) was studying a non- coding gene in C. elegans, lin-4, that was involved in silencing of another gene, lin-14, at the appropriate time in the
development of the worm C. elegans.
Two small transcripts of lin-4 (22nt and 61nt) were found to be complementary to a sequence in the 3' UTR of lin-14.
Because lin-4 encoded no protein, she deduced that it must be these transcripts that are causing the silencing by RNA-RNA interactions.
Types of RNAi ( non coding RNA)
MiRNA
Length (23-25 nt)
Trans acting
Binds with target MRNA in mismatch
Translation inhibition
Si RNA
Length 21 nt.
Cis acting
Bind with target Mrna in perfect complementary sequence
Piwi-RNA
Length ; 25 to 36 nt.
Expressed in Germ Cells
Regulates trnasposomes activity
MECHANISM OF RNAI:
First the double-stranded RNA teams up with a protein complex named Dicer, which cuts the long RNA into short pieces.
Then another protein complex called RISC (RNA-induced silencing complex) discards one of the two RNA strands.
The RISC-docked, single-stranded RNA then pairs with the homologous mRNA and destroys it.
THE RISC COMPLEX:
RISC is large(>500kD) RNA multi- protein Binding complex which triggers MRNA degradation in response to MRNA
Unwinding of double stranded Si RNA by ATP independent Helicase
Active component of RISC is Ago proteins( ENDONUCLEASE) which cleave target MRNA.
DICER: endonuclease (RNase Family III)
Argonaute: Central Component of the RNA-Induced Silencing Complex (RISC)
One strand of the dsRNA produced by Dicer is retained in the RISC complex in association with Argonaute
ARGONAUTE PROTEIN :
1.PAZ(PIWI/Argonaute/ Zwille)- Recognition of target MRNA
2.PIWI (p-element induced wimpy Testis)- breaks Phosphodiester bond of mRNA.)RNAse H activity.
MiRNA:
The Double-stranded RNAs are naturally produced in eukaryotic cells during development, and they have a key role in regulating gene expression .
Professional air quality monitoring systems provide immediate, on-site data for analysis, compliance, and decision-making.
Monitor common gases, weather parameters, particulates.
Richard's entangled aventures in wonderlandRichard Gill
Since the loophole-free Bell experiments of 2020 and the Nobel prizes in physics of 2022, critics of Bell's work have retreated to the fortress of super-determinism. Now, super-determinism is a derogatory word - it just means "determinism". Palmer, Hance and Hossenfelder argue that quantum mechanics and determinism are not incompatible, using a sophisticated mathematical construction based on a subtle thinning of allowed states and measurements in quantum mechanics, such that what is left appears to make Bell's argument fail, without altering the empirical predictions of quantum mechanics. I think however that it is a smoke screen, and the slogan "lost in math" comes to my mind. I will discuss some other recent disproofs of Bell's theorem using the language of causality based on causal graphs. Causal thinking is also central to law and justice. I will mention surprising connections to my work on serial killer nurse cases, in particular the Dutch case of Lucia de Berk and the current UK case of Lucy Letby.
Comparing Evolved Extractive Text Summary Scores of Bidirectional Encoder Rep...University of Maribor
Slides from:
11th International Conference on Electrical, Electronics and Computer Engineering (IcETRAN), Niš, 3-6 June 2024
Track: Artificial Intelligence
https://www.etran.rs/2024/en/home-english/
A brief information about the SCOP protein database used in bioinformatics.
The Structural Classification of Proteins (SCOP) database is a comprehensive and authoritative resource for the structural and evolutionary relationships of proteins. It provides a detailed and curated classification of protein structures, grouping them into families, superfamilies, and folds based on their structural and sequence similarities.
What is greenhouse gasses and how many gasses are there to affect the Earth.moosaasad1975
What are greenhouse gasses how they affect the earth and its environment what is the future of the environment and earth how the weather and the climate effects.
Richard's aventures in two entangled wonderlandsRichard Gill
Since the loophole-free Bell experiments of 2020 and the Nobel prizes in physics of 2022, critics of Bell's work have retreated to the fortress of super-determinism. Now, super-determinism is a derogatory word - it just means "determinism". Palmer, Hance and Hossenfelder argue that quantum mechanics and determinism are not incompatible, using a sophisticated mathematical construction based on a subtle thinning of allowed states and measurements in quantum mechanics, such that what is left appears to make Bell's argument fail, without altering the empirical predictions of quantum mechanics. I think however that it is a smoke screen, and the slogan "lost in math" comes to my mind. I will discuss some other recent disproofs of Bell's theorem using the language of causality based on causal graphs. Causal thinking is also central to law and justice. I will mention surprising connections to my work on serial killer nurse cases, in particular the Dutch case of Lucia de Berk and the current UK case of Lucy Letby.
(May 29th, 2024) Advancements in Intravital Microscopy- Insights for Preclini...Scintica Instrumentation
Intravital microscopy (IVM) is a powerful tool utilized to study cellular behavior over time and space in vivo. Much of our understanding of cell biology has been accomplished using various in vitro and ex vivo methods; however, these studies do not necessarily reflect the natural dynamics of biological processes. Unlike traditional cell culture or fixed tissue imaging, IVM allows for the ultra-fast high-resolution imaging of cellular processes over time and space and were studied in its natural environment. Real-time visualization of biological processes in the context of an intact organism helps maintain physiological relevance and provide insights into the progression of disease, response to treatments or developmental processes.
In this webinar we give an overview of advanced applications of the IVM system in preclinical research. IVIM technology is a provider of all-in-one intravital microscopy systems and solutions optimized for in vivo imaging of live animal models at sub-micron resolution. The system’s unique features and user-friendly software enables researchers to probe fast dynamic biological processes such as immune cell tracking, cell-cell interaction as well as vascularization and tumor metastasis with exceptional detail. This webinar will also give an overview of IVM being utilized in drug development, offering a view into the intricate interaction between drugs/nanoparticles and tissues in vivo and allows for the evaluation of therapeutic intervention in a variety of tissues and organs. This interdisciplinary collaboration continues to drive the advancements of novel therapeutic strategies.
Seminar of U.V. Spectroscopy by SAMIR PANDASAMIR PANDA
Spectroscopy is a branch of science dealing the study of interaction of electromagnetic radiation with matter.
Ultraviolet-visible spectroscopy refers to absorption spectroscopy or reflect spectroscopy in the UV-VIS spectral region.
Ultraviolet-visible spectroscopy is an analytical method that can measure the amount of light received by the analyte.
Nutraceutical market, scope and growth: Herbal drug technologyLokesh Patil
As consumer awareness of health and wellness rises, the nutraceutical market—which includes goods like functional meals, drinks, and dietary supplements that provide health advantages beyond basic nutrition—is growing significantly. As healthcare expenses rise, the population ages, and people want natural and preventative health solutions more and more, this industry is increasing quickly. Further driving market expansion are product formulation innovations and the use of cutting-edge technology for customized nutrition. With its worldwide reach, the nutraceutical industry is expected to keep growing and provide significant chances for research and investment in a number of categories, including vitamins, minerals, probiotics, and herbal supplements.
Multi-source connectivity as the driver of solar wind variability in the heli...Sérgio Sacani
The ambient solar wind that flls the heliosphere originates from multiple
sources in the solar corona and is highly structured. It is often described
as high-speed, relatively homogeneous, plasma streams from coronal
holes and slow-speed, highly variable, streams whose source regions are
under debate. A key goal of ESA/NASA’s Solar Orbiter mission is to identify
solar wind sources and understand what drives the complexity seen in the
heliosphere. By combining magnetic feld modelling and spectroscopic
techniques with high-resolution observations and measurements, we show
that the solar wind variability detected in situ by Solar Orbiter in March
2022 is driven by spatio-temporal changes in the magnetic connectivity to
multiple sources in the solar atmosphere. The magnetic feld footpoints
connected to the spacecraft moved from the boundaries of a coronal hole
to one active region (12961) and then across to another region (12957). This
is refected in the in situ measurements, which show the transition from fast
to highly Alfvénic then to slow solar wind that is disrupted by the arrival of
a coronal mass ejection. Our results describe solar wind variability at 0.5 au
but are applicable to near-Earth observatories.
Multi-source connectivity as the driver of solar wind variability in the heli...
All-Solution Satisfiability Modulo Theories: applications, algorithms and benchmarks
1. All-Solution Satisfiability Modulo Theories:
applications, algorithms and benchmarks
Quoc-Sang Phan and Pasquale Malacaria
Queen Mary University of London
ARES: August 25, 2015
1 / 23
2. Content
Satisfiability Modulo Theories (SMT): a decision problem for
logical formulas over first-order theories
All-SMT: the problem of finding all solutions of an SMT
problem with respect to a set of Boolean variables
All-SMT solver can benefit various domains of application:
Bounded Model Checking, Automated Test Generation,
Reliability analysis, and Quantitative Information Flow. We
concentrate here on Quantitative Information Flow (QIF)
we propose algorithms to design an All-SMT solver on top of
an existing SMT solver, and implement it into a prototype
tool, called aZ3.
2 / 23
3. Information Flow
Secret input (H) Public input (L)
Program P
Public Output (O)
Non-interference
Public input (L)
Program P
Secret input (H)
Information leaked
Public Output (O)
√
?
3 / 23
4. Non-interference is unachievable
int check(int H, int L){
int O;
if (L == H)
O = ACCEPT;
else O = REJECT;
return O;
}
password check
Secret input (H) Public input (L)
Program P
Public Output (O)
Non-interference
Public input (L)
Program P
Secret input (H)
Information leaked
Public Output (O)
√
?
Leakage = Secrecy before observing - Secrecy after observing
∆E (XH) = E(XH) − E(XH|XO)
where XH is the secret, XO is the output and E is an ”entropy”
function
4 / 23
5. Motivations for Quantitative Information Flow
1 information leakage is unavoidable, e.g. authentication
systems must leak by design some information about
passwords
2 however, provided the leakage is small, usually that is not a
problem.
3 so measuring leakage allows for a security assessment of a
program
4 This work provides new and fast algorithms to measure
information leaks, “how much” a program leaks
5 / 23
6. Quantifying Information Leaks
Theorem: Channel Capacity for deterministic systems
∆E (XH) ≤ log2(|O|)
holds for Shannon entropy and R´enyi’s min-entropy
holds for all possible distributions of XH.
is the basis of state-of-the-art techniques for Quantitative
Information Flow analysis.
based on the above we have:
Definition
Quantitative Information Flow (QIF) is the problem of counting N,
the number of possible outputs of a given program P.
6 / 23
7. An example
base = 8;
if (H < 16 and H>=0) then
O = base + H
else
O = base
Figure: Data sanitization program
Here then O is in [8..23], so leakage ≤ log(15), possible bits
configurations in O are 0 . . . 01000 to 0 . . . 010111
7 / 23
8. From programs to formulas
First step in our approach is to understand how programs are
translated into formulas: using Single Static Assignment (SSA) a
program P is translated into a conjunctive formula ϕP
8 / 23
9. Quantifying as Counting
Adversary
tries to infer
H from L and O
H
L
O
f
O is stored as a bit vector b1b2 . . . bM.
Assume we have a first-order formula ϕP such that:
ϕP contains a set of Boolean variables VI := {p1, p2, .., pM }
pi = if and only if bi is 1, and pi = ⊥ if and only if bi = 0
Counting outputs of P ≡ Counting models of ϕP w.r.t. VI
9 / 23
10. QIF analysis using a All-SMT solver
Program transformation
L = 8;
if (H < 16)
O = H + L;
else
O = L;
(L1 = 8) ∧
(G0 = H0 < 16) ∧
(O1 = H0 + L1) ∧
(O2 = L1) ∧
(O3 = G0?O1 : O2)
Figure: A simple program P encoded into a first-order formula ϕP
Formula instrumentation to build the set VI :
(assert (= (= #b1 (( extract 0 0) O3)) p1))
10 / 23
11. QIF analysis using a All-SMT solver
We introduce two algorithms for All-SMT solving.
Both use APIs provided by an SMT solver.
Blocking clause
After finding a model
µ = l0 ∧ l1 ∧ · · · ∧ lm ∧ . . .
Add the clause:
block = ¬l0 ∨ ¬l1 ∨ · · · ∨ ¬lm
11 / 23
13. Blocking Clause all-SMT
The blocking clauses method is straightforward and it is simple to
implement.
However, adding a large number of blocking clauses will require a
large amount of memory.
Also the large number of clauses slows down the Boolean
Constraint Propagation procedure of the underlying solver.
To address these inefficiencies we introduce an alternative method
which avoids re-discovering solutions using depth-first search
(DFS).
13 / 23
14. QIF analysis using a All-SMT solver
Use APIs provided by an SMT solver
Depth-first search
Two components:
A DPLL like procedure to enumerate truth assignments.
Use the SMT solver to check consistency of the truth
assignments.
14 / 23
16. Depth First Search all-SMT
The method choose literal chooses the next state to explore
from VI in a DFS manner, and even if there are 2N possible states
efficient pruning avoid exponential blow-out for programs that
“don’t leak too much”, i.e.
Depth-first search all-SMT algorithm is linear in |O|
16 / 23
18. Implementation
Tools selected:
Model Checking: CBMC (Ansi C)
Symbolic Execution: Symbolic PathFinder (Java bytecode)
Program transformation: CBMC
SMT solver: z3
Benchmarks include:
Vulnerabilities in Linux kernel
Anonymity protocols
A Tax program from the European project HATS (Java)
Assumptions: all programs have bounded loops, no recursion.
18 / 23
21. Conclusions
P
program transformation
ϕP
QIF All-SMT
Formal methods DPLL(T )
Two approaches:
Use formal methods to mimic DPLL(T ).
QIF analysis using Model Checking.
QIF analysis using Symbolic Execution.
Generate ϕP, then using DPLL(T ).
Generate ϕP using program transformation.
Extend an SMT solver for All-SMT.
21 / 23