Commit 1ea2ad22 authored by Martin Jonáš's avatar Martin Jonáš
Browse files

Merge branch 'master' of https://gitlab.fi.muni.cz/xjonas/DTEDI

parents 2f52fea4 5663862f
......@@ -201,7 +201,13 @@
\frametitle{Quantified Bit-Vector Logic}
In many software verification applications, quantifiers are
necessary.
necessary. For example in
\begin{itemize}
\item invariant generation,
\item ranking function synthesis,
\item cycle summarization,
\item symbolic state equality test.
\end{itemize}
\bigskip
......@@ -211,38 +217,36 @@
\section{Symbolic Approach to Quantified Bit-Vectors}
\begin{frame}
\frametitle{Symbolic Approach to Quantified Bit-Vectors}
Bit-vector formulas can be represented by \alert{binary decision diagrams} (BDD).
\frametitle{Symbolic Approach to Quantified Bit-Vectors} Boolean and
Bit-Vector formulas can be represented by \alert{binary decision
diagrams} (BDDs).
\bigskip
Assuming that $x^{[4]} = x_3x_2x_1x_0$, formula
The set of satisfying assignments of a Boolean formula
\[
x^{[4]} >_u 0
x \wedge (y \vee \neg z)
\]
is represented by
can be represented by a BDD
\begin{center}
\begin{tikzpicture}[every node/.style={draw, circle}]
\node (x0) at (2,4) {$x_0$};
\node (x1) at (3,3) {$x_1$};
\node (x2) at (4,2) {$x_2$};
\node (x3) at (5,1) {$x_3$};
\node (x) at (2,3) {$x$};
\node (y) at (1.1,1.7) {$y$};
\node (z) at (2.1,1) {$z$};
\node [rectangle] (true) at (0,0) {true};
\node [rectangle] (false) at (6,0) {false};
\node [rectangle] (true) at (0,0) {1};
\node [rectangle] (false) at (4,0) {0};
\path[auto, every node/.style={}, above, dashed]
(x0) edge [above right] node {$0$} (x1)
(x1) edge [above right] node {$0$} (x2)
(x2) edge [above right] node {$0$} (x3)
(x3) edge [above right] node {$0$} (false);
(x) edge [above right] node {} (false)
(y) edge [above right] node {} (z)
(z) edge [above right] node {} (true);
\path[auto, every node/.style={}, above left]
(x0) edge [] node {$1$} (true)
(x1) edge [] node {$1$} (true)
(x2) edge [] node {$1$} (true)
(x3) edge [] node {$1$} (true);
(x) edge [] node {} (y)
(y) edge [] node {} (true)
(z) edge [] node {} (false);
\end{tikzpicture}
\end{center}
......@@ -251,18 +255,17 @@
\begin{frame}
\frametitle{Symbolic Approach to Quantified Bit-Vectors}
Efficient algorithm are known for operations with BDDs (conjunction,
Efficient algorithm are known for operations with BDDs (e.g. conjunction,
disjunction, quantifiers).
\bigskip
Quantification usually reduces the size of the BDD -- useful for
quantified bit-vectors.
Satisfiability of a BDD can be also easily checked.
\bigskip
Representation by (reduced and ordered) BDDs is canonical -- formula
is unsatisfiable iff the BDD has root false.
Quantification usually reduces the size of the BDD -- useful for
quantified bit-vectors.
\end{frame}
\begin{frame}
......@@ -330,28 +333,63 @@
\end{frame}
\begin{frame}
\frametitle{Publications}
\begin{itemize}
\setlength\itemsep{2em}
\item \textsc{Mrázek} J., M. \textsc{Jonáš}, V. \textsc{Štill},
H. \textsc{Lauko}, and J. \textsc{Barnat}. \emph{``Optimizing and
Caching SMT Queries in SymDIVINE (Competition Contribution)''}
In: TACAS 2017 (to appear).
\frametitle{Reader's questions}
\bigskip
\emph{``Existuje zde předpoklad, že by výzkum v tomto směru (například
zvolení konkrétní metody pro uspořádání na základě nějaké analýzy
před samotným výpočtem) mohl vést k metodám generující ,,lepší``
uspořádání?''}
Wrote about half of the paper and implemented SMT formula
simplifications.
\item \textsc{Chalupa} M., M. \textsc{Vitovská}, M. \textsc{Jonáš},
J. \textsc{Slabý}, J.~\textsc{Strejček}. \emph{``Symbiotic 4:
Beyond Reachability (Competition Contribution)''} In: TACAS 2017
(to appear).
\bigskip
\bigskip
\bigskip
Ano, takový předpoklad existuje.
\end{frame}
Wrote parts of the paper and prepared the environment that was used
to run experiments with the implemented tool Symbiotic.
\end{itemize}
\begin{frame}
\frametitle{Reader's questions}
\emph{``Má student nějaké konkrétnější představy o metodách zjemňování
abstrakcí, které by chtěl implementovat? Budou tyto metody založené
na informacích o tvaru/struktuře formule, nebo budou využívat
informace z vyšší úrovně, například o verifikovaném programu?''}
\bigskip
\bigskip
Tyto metody by měly být založené na struktuře formule. Měly by
využívat informace o důvodu nepřesnosti abstrakce -- například z
nekorektní model nebo nekorektní nesplnitelné jádro formule.
\end{frame}
\begin{frame}
\frametitle{Reader's questions}
\emph{``Student má v plánu implementovat extrakci ,,UNSAT core`` pro dočasné
BDD vytvořené během výpočtu. K čemu se takové formule dají použít?''}
\bigskip
\bigskip
Takové formule se dají použít k přesnějšímu určení důvodu
nesplnitelnosti formule -- vhodné například pro verifikační nástroje
nebo zpřesňování abstrakcí.
\end{frame}
\begin{frame}
\frametitle{Reader's questions}
\emph{``Co se týká teoretické složitosti problému, z textu mi není jasné,
jestli se student bude zaměřovat i na dokázání složitosti třídy
AEXPTIME(poly) vzhledem k vlastní inkluzi mezi třídami NEXPTIME a
EXPSPACE, nebo zda je cílem ukázat pouze příslušnost problému
rozhodování formulí kvantifikovaných bitových vektorů k
AEXPTIME(poly).''}
\bigskip
\bigskip
V plánu je jen ukázat příslušnost daného problému do třídy AEXPTIME(poly).
\end{frame}
\end{document}
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment