LARA

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
comfusy [2010/03/24 20:49]
vkuncak
comfusy [2013/10/16 18:27] (current)
mikael.mayer making-of added
Line 1: Line 1:
 ====== COMFUSY: COMplete FUnctional SYnthesis ====== ====== COMFUSY: COMplete FUnctional SYnthesis ======
  
-Comfusy ​works as plugin ​for the [[http://scala-lang.org|Scala]] compiler. Comfusy was developed and tested with the version 2.7.7 of Scala (not the recent 2.8 release).+Comfusy ​is tool for synthesizing executable code from specifications in linear integer arithmetic and constraints on sets of objects. 
 +  * see [[http://lara.epfl.ch/​~kuncak/​papers/​KuncakETAL10CompleteFunctionalSynthesis.html|PLDI 2010 Paper]] for the description ​of this work
  
-  ​* You can download the .jar file of the plugin here: [[http://​lara.epfl.ch/​~psuter/​comfusy/​synthesis-plugin.jar|synthesis-plugin.jar]] (older version: [[http://​lara.epfl.ch/​~psuter/​comfusy/​synthesis-plugin-older.jar|synthesis-plugin-older.jar]],​ without support for parametrized linear integer arithmetic)+Comfusy works as a plugin for the [[http://​scala-lang.org|Scala]] compiler. Comfusy was developed and tested with the version 2.7.7 of Scala (*not* the more  recent 2.8.* or 2.9.* releases). 
 + 
 +  ​* You can download the .jar file of the plugin here: [[http://​lara.epfl.ch/​~psuter/​comfusy/​synthesis-plugin.jar|synthesis-plugin.jar]] (older version: [[http://​lara.epfl.ch/​~psuter/​comfusy/​synthesis-plugin-older.jar|synthesis-plugin-older.jar]],​ without support for parametrized linear integer arithmetic)
 + 
 +  * The source code is [[https://​github.com/​epfl-lara/​comfusy|available on GitHub]] for the brave.
  
 ==== Examples ==== ==== Examples ====
Line 38: Line 43:
                       ^                       ^
   answer: Int = 42   answer: Int = 42
 +
  
  
Line 49: Line 55:
   scalac -Xplugin:​synthesis-plugin.jar -classpath synthesis-plugin.jar -P:​synthesis:​nowarnings YourFile.scala   scalac -Xplugin:​synthesis-plugin.jar -classpath synthesis-plugin.jar -P:​synthesis:​nowarnings YourFile.scala
  
-===== On YouTube =====+(Comfusy parses Z3 models to produce a warning; versions of Z3 more recent than 2.18 may not output the proper format.)
  
-Comfusy has been used to synthesize a part of computation used to generate the following [[http://​www.youtube.com/​watch?​v=E2aPFdu0FNA|Happy New Year Video]]. 
  
 +===== On YouTube =====
 +
 +Comfusy has been used to synthesize a part of computation used to generate the following [[http://​www.youtube.com/​watch?​v=E2aPFdu0FNA|Happy New Year 2010 Video]] (see the [[http://​www.youtube.com/​watch?​v=a6uDAdhvpRE|making-of]] at 0:47).
  
-===== Reports ​=====+===== People ​=====
  
-  * [[http://infoscience.epfl.ch/record/142733|Technical Report]]+The people involved in the development of Comfusy are, in alphabetical order: ​[[http://lara.epfl.ch/~kuncak/|Viktor Kuncak]], [[http://​people.epfl.ch/​mikael.mayer|Mikaël Mayer]], [[http://​icwww.epfl.ch/​~piskac/​|Ruzica Piskac]] and [[http://​lara.epfl.ch/​~psuter/​|Philippe Suter]].