Témata prací (Výběr práce)Témata prací (Výběr práce)(verze: 368)
Detail práce
   Přihlásit přes CAS
Soothsharp: A C#-to-Viper translator
Název práce v češtině: Soothsharp: překladač C# do jazyka Viper
Název v anglickém jazyce: Soothsharp: A C#-to-Viper translator
Klíčová slova: verifikace, programovací jazyky, kontrakty, oprávnění
Klíčová slova anglicky: verification, programming languages, contracts, permissions
Akademický rok vypsání: 2016/2017
Typ práce: diplomová práce
Jazyk práce: angličtina
Ústav: Katedra distribuovaných a spolehlivých systémů (32-KDSS)
Vedoucí / školitel: doc. RNDr. Pavel Parízek, Ph.D.
Řešitel: Mgr. Petr Hudeček - zadáno a potvrzeno stud. odd.
Datum přihlášení: 12.10.2016
Datum zadání: 13.10.2016
Datum potvrzení stud. oddělením: 15.11.2016
Datum a čas obhajoby: 06.09.2017 10:00
Datum odevzdání elektronické podoby:28.06.2017
Datum odevzdání tištěné podoby:21.07.2017
Datum proběhlé obhajoby: 06.09.2017
Oponenti: Mgr. Pavel Ježek, Ph.D.
 
 
 
Zásady pro vypracování
A very popular approach to verification of object-oriented programs is through annotation of individual methods with contracts (preconditions, postconditions, invariants) and subsequent translation into a program in an intermediate language of some kind, which is then verified using a dedicated tool.
The objective of this thesis is to create such a transcompiler that will take a program in C# and produce equivalent source code in the Viper intermediate verification language, which is developed at ETH Zurich as a part of the Viper project. This will permit methods in the C# program to be formally analyzed for correctness with respect to their contracts.
The candidate will implement a standalone application, a Visual Studio plugin, and a set of test cases.
The C# language will not be supported in its entirety, and only a minimal number of BCL classes will be translated. However, the transcompiler should at least support all control structures, basic object-oriented programming, most features of the Viper language, and arrays.
Seznam odborné literatury
1. Viper toolset. http://www.pm.inf.ethz.ch/research/viper.html
2. P. Mueller, M. Schwerhoff, and A.J. Summers. Viper: A Verification Infrastructure for Permission-Based Reasoning. VMCAI 2016, LNCS 9583.
3. B. Brodowsky. Translating Scala to SIL. Master Thesis, ETH Zurich, 2012
 
Univerzita Karlova | Informační systém UK