Skip to content
This repository was archived by the owner on Jan 23, 2026. It is now read-only.

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

117 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚠️ This repository is no longer in use. The plugin is now a part of Viper, its code can be found here.

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

Packages

 
 
 

Contributors

Languages