viperproject / viperserver

HTTP server that manages verification requests to different tools from the Viper tool stack.
Other
10 stars 17 forks source link

Normalize pipelines while parsing inconsistent programs #33

Closed aterga closed 3 years ago

aterga commented 3 years ago

This PR addresses a problem due to which the new ViperServer cannot have been used with the latest version of Viper IDE.

aterga commented 3 years ago

Thanks for the quick feedback! Yes, the purpose is for the CoreServer to maintain correct operation in case e.g. a syntactic error occurs in the code, and hence an AST cannot be created. In this scenario, we still want the user to be able to obtain all the available messages by requesting /verify/[ver_id]. So, a verification handle of the following shape is created:

VerHandle(null, null, null, ast_id)

Might be worth revisiting this in the future to find a prettier solution.

aterga commented 3 years ago

I have no idea why the tests don't pass here, they seem to work on my machine. Maybe a weird concurrency issue.

ArquintL commented 3 years ago

It indeed is and I've already started to look into that on a separate branch. Apparently the thread pool is somehow killed too early but I've also no clue why I cannot observe this locally. Feel free to merge this PR despite the failure