Skip to content

Extension of the Viper language with modular product programs and information flow specifications

License

Notifications You must be signed in to change notification settings

viperproject/silver-sif-extension

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This repository contains an extension of the Viper language with modular product programs and information flow specifications according to this paper.

In particular, this means

  • Viper AST node extensions for information flow specifications (SIFLowExp, SIFLowEvent, SIFDeclassifyStmt) in SifAstExtensions.scala
  • additional control flow structures for the Viper AST (e.g., try/catch, raise, return, break) to replace goto statements in SifAstExtensions.scala
  • additional Viper verification error types in SifError.scala
  • a transformation from an extended Viper AST to its product version in the ordinary Viper AST, including some optimizations, in SifExtendedTransformer.scala

Code for extracting counterexamples from product programs in conjunction with the Silicon backend can be found here.

About

Extension of the Viper language with modular product programs and information flow specifications

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages