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/31 16:36]
philippe.suter
comfusy [2013/10/16 18:27]
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 =====
  
-===== Reports ===== +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).
- +
-  * [[http://infoscience.epfl.ch/record/142733|Technical Report]]+
  
 ===== People ===== ===== People =====