From aff7f38e9756d6b272ca4e8100438feaa68cb905 Mon Sep 17 00:00:00 2001 From: Matthias Veigel Date: Wed, 25 Jun 2025 21:19:42 +0200 Subject: [PATCH] Added peer review --- .gitignore | 2 +- review.typ | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 review.typ diff --git a/.gitignore b/.gitignore index f0de8a3..a136337 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -main.pdf +*.pdf diff --git a/review.typ b/review.typ new file mode 100644 index 0000000..286f049 --- /dev/null +++ b/review.typ @@ -0,0 +1,30 @@ +#align(center, [ + = Review of "Abstract Interpretations, Numerical Domains" by Silvia Gaspari + == Matthias Veigel +]) +=== Summary +The paper deals with numerical domains and how they work. +The domains are all based on a concept called latice, which is an ordered set of sets with #sym.tack.t as empty set and #sym.tack.b as set which includes everything from the other sets. +The different domains specified in this paper are: Interval: number #sym.in [a,b], Polyhedron: lattice of intervals, Zone: x #sym.in [a,b] and x - y < constant, Octagon: Extension of zone domain with #sym.plus.minus x #sym.plus.minus y < constant, Pentagon: x,y are program variables and x #sym.in interval and x < y -> y as upper bound. +These domains can then be used to constrain variables. +=== Previous experience +I have no previous experience with lattices or numerical domains. +=== General Feedback +#[ + #set list(marker: [+]) + - Good Structure, Domains ordered from least to most complex + - Detailed explanation of domains + - Methodology is clearly described +] + +#[ + #set list(marker: [--]) + - Many typos + - Incomplete sentences + - Inconsistent capitalization + - The text of figure 1 and figure 2 is hard to read, because it is too small. + - Figure 1: 0 and +/- are too close together. + - Section 4.2: Should use #sym.NN,#sym.ZZ,#sym.QQ,#sym.RR instead of N,Z,Q,R (possible with `\mathbb{N}` in latex, `#sym.NN` in typst) +] + +The paper has a good structure and the different domains are clearly described. A big problem in the paper is the missing explanation for lattices, since most of the paper is build on this concept. I also noticed a few logic mistakes in section 4.1: arithmetic operators: (+) - (-) should result in (+) not #sym.tack.b, (-) - (-) should result in #sym.tack.b not (-), (+) \* (+) should result in (+) not (-). The papers are also not really evaluated yet, only the content in them is summarized currently. Another useful thing to include would be the table from 0:25 in https://www.youtube.com/watch?v=jWUXclaKppk for initial understanding and comparison of the numerical domains.