Hi again,

While reading the progress repot I also looked at the code of the
compiler to get a feeling for what it can and cannot do.

Please correct me if I'm wrong, but it seems to go through a number of
standard phases not related to cryptography. Then there are these
three phases:
Yes there is a bunch of standard phases.

* Checking of annotations for open() calls -- I think this is part of
  the analysis in DefiniteAssignment.java.
The checking is done in AnnotationAnalysis.java, which is part of the DefiniteAssignment phase. The code in AnnotationAnalysis.java is currently commented out, it needs to be upgraded to changes in the analysis framework used.

* Hoistability check which looks for I/O or assignments to public
  variables in the branches of if-statements.
Yes

* Conditional expansion where if-statements are turned into
  conditional assignments. Loops are also detected in the branches.

Yes


I found no support for

* Making things run in parallel (the word "parallel" does not occur at
  all in the source code).
There is no concept of parallelism in SMCL programs. The fact that the computation is distributed is abstracted away.

* Bounds checking when the protocol needs inputs to be smaller than
  the field size (needed in comparisons and new Paillier two-player
  runtime).
I haven't been aware of this being an issue. We need to handle this somehow.

* Counting multiplications and other stuff for preprocessing.
NYI. The multiplication optimization I implemented last week haven't been committet yet. It needs more integration with the rest of the compiler.

--
Janus

_______________________________________________
viff-devel mailing list (http://viff.dk/)
viff-devel@viff.dk
http://lists.viff.dk/listinfo.cgi/viff-devel-viff.dk

Reply via email to