Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rebase interactive onto the current master #39

Open
wants to merge 90 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
90 commits
Select commit Hold shift + click to select a range
d3b51fb
[feature] Report rule applications to trace.
corwin-of-amber May 28, 2021
47210bf
[feature] Trace derivation trail with vector args.
corwin-of-amber May 29, 2021
2ceaad0
[ui] Parse & display derivation trail.
corwin-of-amber May 29, 2021
62509e4
[bugfix] Timeout displayed as "x seconds" in message.
corwin-of-amber May 29, 2021
8a7817a
[refactor] Extracted some common logic from SubstL/R.
corwin-of-amber May 29, 2021
68cb547
[bugfix] Don't disable all loggers worldwide.
corwin-of-amber May 31, 2021
ec91d94
[feature] Return result from `synthesizeFrom..` methods.
corwin-of-amber May 31, 2021
2226f6d
[bugfix] Wrong dir name.
corwin-of-amber May 31, 2021
cc5c942
[wip] Bare-bones synthesis server.
corwin-of-amber May 31, 2021
44d598b
[wip] A very clunky server-side.
corwin-of-amber Jun 4, 2021
1abad76
[refactor] Moved all components to SFCs.
corwin-of-amber Jun 4, 2021
2e808a9
[chore] Removed some npm warnings.
corwin-of-amber Jun 4, 2021
27ee7bc
[refactor] Changed client-server protocol to WebSockets.
corwin-of-amber Jun 4, 2021
9bf0543
[feature] Some interaction UI.
corwin-of-amber Jun 4, 2021
b7c0dc7
[feature] Start with an empty trace then build incrementally.
corwin-of-amber Jun 5, 2021
bbf1be7
[feature] More interaction.
corwin-of-amber Jun 5, 2021
ba9911b
[feature] Report synthesis result in JSON.
corwin-of-amber Jun 6, 2021
8e1fa04
[feature] Display derivation trail even for incomplete branches.
corwin-of-amber Jun 6, 2021
4080b76
[feature] Highlight current goal for interaction.
corwin-of-amber Jun 6, 2021
2743dac
[feature] Accept spec from clients.
corwin-of-amber Jun 6, 2021
eaa7008
[feature] Bundle benchmarks in JSON.
corwin-of-amber Jun 8, 2021
39682e2
[refactor] Wrapped UI in a root app component.
corwin-of-amber Jun 9, 2021
7478779
[ui] Display list of benchmarks on startup.
corwin-of-amber Jun 11, 2021
7b5492e
[ui] Reload button.
corwin-of-amber Jun 15, 2021
e06fd41
[feature] Serialization additions.
corwin-of-amber Jun 17, 2021
f3703f2
[feature] Arbitary interactive expansion thingamabob.
corwin-of-amber Jun 17, 2021
d883d88
[ui] Show spec in editor.
corwin-of-amber Jun 19, 2021
4306026
[bugfix] Pass the parameters to the server as well.
corwin-of-amber Jun 19, 2021
bd8d35c
[ui] Formatting stuff.
corwin-of-amber Jun 19, 2021
e341d6b
[deploy] Heroku support.
corwin-of-amber Jun 19, 2021
b23d312
[feature] Interactive/automatic mode switch.
corwin-of-amber Jun 19, 2021
0dc0e87
[ui] Click to expand.
corwin-of-amber Jun 19, 2021
db2d264
Minor
nadia-polikarpova Jun 20, 2021
83e2674
First stab at simple rules
nadia-polikarpova Jun 21, 2021
06d54e9
Put simple under flag
nadia-polikarpova Jun 21, 2021
e9d6000
Change read and write rule to follow slides
nadia-polikarpova Jun 21, 2021
2033070
Comment out guided tests
nadia-polikarpova Jun 21, 2021
151807a
Replace uni mod theories with syntactic unification in simple synthes…
nadia-polikarpova Jun 23, 2021
0bc85bf
Minor
nadia-polikarpova Jun 23, 2021
a4cd605
Get rid of PickArg and use Pick instead
nadia-polikarpova Jul 21, 2021
a0570ec
[ui] Added proof mode switch.
corwin-of-amber Jun 24, 2021
a774c0c
[bugfix] Strip away params line.
corwin-of-amber Jun 24, 2021
28a4da1
[perf] Some throttling of messages in auto.
corwin-of-amber Jun 25, 2021
1909689
Switched to `Simple` synthesis tactic (for server).
corwin-of-amber Jul 4, 2021
7eb8c37
[ui] Restore focus and report success.
corwin-of-amber Jul 5, 2021
c53c079
[bugfix] Multithread mayhem!
corwin-of-amber Jul 14, 2021
2635a9a
[ui] Connection error reporting.
corwin-of-amber Jul 14, 2021
a60cf30
[ui] Sane autoscroll.
corwin-of-amber Jul 14, 2021
a6f2d40
[qa] Added an sll-to-dll in-place example.
corwin-of-amber Jul 14, 2021
b0337c4
[wip] More serialization stuff.
corwin-of-amber Jul 16, 2021
db32730
[feature] Report PickArg subst.
corwin-of-amber Jul 16, 2021
d91ec5e
[ui] Some panning and zooming.
corwin-of-amber Jul 16, 2021
9009370
[ui] Stabilized zoom.
corwin-of-amber Jul 19, 2021
e017bd9
[feature] Keep trace when switching mode.
corwin-of-amber Jul 20, 2021
a3ec0a2
[feature] Allow passing both syn and sus inputs to server.
corwin-of-amber Jul 21, 2021
7e954ee
Get rid of cardinalities in simple mode
nadia-polikarpova Jul 22, 2021
1b9234e
Make some rules non-invertible in simple mode (otherwise it is confus…
nadia-polikarpova Jul 22, 2021
262d0bd
[ui] Hide null cardinalities ("<0>").
corwin-of-amber Jul 22, 2021
eb93a2c
[nits] Updated deps.
corwin-of-amber Jul 22, 2021
238f441
[bugfix] Made `SearchTree` thread-local.
corwin-of-amber Jul 22, 2021
c5c3bcd
[ui] [feature] Show synthesized program.
corwin-of-amber Jul 22, 2021
1c7ac46
[interact] Set default timeout to 15sec.
corwin-of-amber Jul 22, 2021
817dd44
[interact] Change default open and close depth to 2
nadia-polikarpova Jul 22, 2021
17d10d6
Playing with tutorial examples
nadia-polikarpova Jul 23, 2021
1d3d5ab
[ui] Simple-mode switch.
corwin-of-amber Jul 23, 2021
be6e7a7
[tut] Bundle files from tutorial repo.
corwin-of-amber Jul 23, 2021
365c19c
[feature] Basic syntax highlighting.
corwin-of-amber Jul 23, 2021
88349ba
[ui] Highlight active benchmark.
corwin-of-amber Jul 23, 2021
9960dc5
[bugfix] Some crossfire between docs.
corwin-of-amber Jul 23, 2021
732756c
[feature] [ui] Start/stop buttons.
corwin-of-amber Jul 23, 2021
85f7c25
Updated tutorial files.
corwin-of-amber Jul 23, 2021
737df8b
Throwing timeout exception as opposed to synthesis failed on timeout
nadia-polikarpova Jul 23, 2021
efd2366
Rename pick rule back
nadia-polikarpova Jul 23, 2021
ffea522
[bugfix] Moved the Memo to TLS as well.
corwin-of-amber Jul 23, 2021
0e4f83a
[tut] Hide solutions by default.
corwin-of-amber Jul 23, 2021
ed15962
[ui] Sticky notifications.
corwin-of-amber Jul 23, 2021
1eec5c9
[ui] Show call info for suspended calls.
corwin-of-amber Jul 23, 2021
a9527a6
[ui] Show companion goal id in call.
corwin-of-amber Jul 23, 2021
0c6039a
[ui] Some additional styling.
corwin-of-amber Jul 23, 2021
7a27b6d
[bugfix] Use unique ids for goals.
corwin-of-amber Jul 23, 2021
c67dbc4
[ui] Better styling of node labels.
corwin-of-amber Jul 24, 2021
7db8657
[ui] Style operators.
corwin-of-amber Jul 24, 2021
1c9f04f
[nit] Reset global counter on each task.
corwin-of-amber Jul 27, 2021
6f3b6b8
[build] Concatenate conf files in fat jar.
corwin-of-amber Jul 27, 2021
68e2073
[port] Update sbt (1.5.2).
corwin-of-amber Jul 28, 2021
61f649d
[feature] Added `server` CLI command.
corwin-of-amber Jul 28, 2021
6082744
[misc] Logback config for headless mode.
corwin-of-amber Jul 28, 2021
5d21cf6
[misc] Set hard max on timeout in server.
corwin-of-amber Jul 28, 2021
3bc36c2
[build] Upgraded sbt-assembly (1.0.0).
corwin-of-amber Jul 28, 2021
82a5897
Forwarded submodule.
corwin-of-amber Aug 6, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,7 @@ target/
lib_managed/
src_managed/
project/boot/
project/
project/plugins/project/
target/
.history
.cache
.lib/
Expand Down Expand Up @@ -94,9 +93,6 @@ fabric.properties
# Compiled class file
*.class

# Log file
*.log

# BlueJ files
*.ctxt

Expand All @@ -118,9 +114,6 @@ hs_err_pid*
*~
.*.swp

# stats
*.csv

# Emacs-generated
.#*

Expand Down Expand Up @@ -151,4 +144,11 @@ node_modules
# certification results
certify/

# logs, stats, and other outputs
/logs
*.log
*.csv
*results.tex
trace.json
*.trace.json
*.db.json
3 changes: 3 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[submodule "ext/tutorial"]
path = ext/tutorial
url = https://github.com/TyGuS/suslik-tutorial.git
1 change: 1 addition & 0 deletions Aptfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
z3
1 change: 1 addition & 0 deletions Procfile
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
web: target/universal/stage/bin/synthesis-server
38 changes: 23 additions & 15 deletions build.sbt
Original file line number Diff line number Diff line change
Expand Up @@ -10,31 +10,38 @@ scalaVersion := "2.12.12"
javacOptions ++= Seq("-source", "1.8", "-target", "1.8", "-Xlint")
scalacOptions += "-target:jvm-1.8"

resolvers in ThisBuild ++= Seq(
ThisBuild / resolvers ++= Seq(
Resolver.sonatypeRepo("releases"),
Resolver.sonatypeRepo("snapshots")
)

resolvers += Resolver.bintrayIvyRepo("com.eed3si9n", "sbt-plugins")

lazy val akkaHttpVersion = "10.2.4"
lazy val akkaVersion = "2.6.14"

libraryDependencies ++= Seq(
"org.slf4j" % "slf4j-api" % "1.6.4" withSources(),
"ch.qos.logback" % "logback-classic" % "1.1.3" % "test",
"org.scalatest" %% "scalatest" % "3.0.1" % "test",
"org.scala-lang.modules" %% "scala-parser-combinators" % "1.0.6" withSources(),
"org.scala-lang.modules" %% "scala-parser-combinators" % "1.1.2" withSources(),
"org.scalaz" %% "scalaz-core" % "7.2.11",
"com.github.scopt" %% "scopt" % "3.7.0",
"com.typesafe.scala-logging" %% "scala-logging" % "3.7.2",
"com.lihaoyi" %% "upickle" % "0.9.5",
"org.bitbucket.franck44.scalasmt" %% "scalasmt" % "2.1.1-SNAPSHOT" withSources()
"com.lihaoyi" %% "upickle" % "1.3.15",
"org.bitbucket.franck44.scalasmt" %% "scalasmt" % "2.1.1-SNAPSHOT" withSources(),
// Server stuff
"com.typesafe.akka" %% "akka-http" % akkaHttpVersion,
"com.typesafe.akka" %% "akka-stream" % akkaVersion,
"com.typesafe.akka" %% "akka-actor-typed" % akkaVersion
)

scalacOptions ++= Seq()

logLevel in ThisBuild := Level.Warn
ThisBuild / logLevel := Level.Warn

// creating a logger and setting level to warn/whatever for console
initialCommands in console :=
console / initialCommands :=
"""|
| import ch.qos.logback.classic.Logger
| import org.slf4j.LoggerFactory
Expand All @@ -43,15 +50,16 @@ initialCommands in console :=
| root.setLevel(Level.OFF)
| """.stripMargin

mainClass in assembly := Some("org.tygus.suslik.synthesis.SynthesisRunner")

test in assembly := {}
Test / parallelExecution := false

parallelExecution in Test := false
assembly / assemblyJarName := "suslik.jar"
assembly / mainClass := Some("org.tygus.suslik.synthesis.SynthesisRunner")
assembly / test := {}

assemblyJarName in assembly := "suslik.jar"

assemblyMergeStrategy in assembly := {
case PathList("META-INF", xs @ _*) => MergeStrategy.discard
case x => MergeStrategy.first
assembly / assemblyMergeStrategy := {
case PathList("META-INF", _*) => MergeStrategy.discard
case x if Assembly.isConfigFile(x) => MergeStrategy.concat
case _ => MergeStrategy.first
}

enablePlugins(JavaAppPackaging)
1 change: 1 addition & 0 deletions ext/tutorial
Submodule tutorial added at 2eaf0f
28 changes: 28 additions & 0 deletions logback.prod.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<logger name="org.bitbucket.franck44" level="ERROR"/>

<!-- Stop output INFO at start -->
<statusListener class="ch.qos.logback.core.status.NopStatusListener" />

<appender name="LOGFILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>logs/suslik-server.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>logs/suslik-server.%i.log.zip</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>30</maxIndex>
</rollingPolicy>

<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>50MB</maxFileSize>
</triggeringPolicy>
<encoder>
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>

<root level="info">
<appender-ref ref="LOGFILE"/>
</root>

</configuration>
Loading