2009
DOI: 10.1007/978-3-642-10373-5_23
|View full text |Cite
|
Sign up to set email alerts
|

Combining Static Model Checking with Dynamic Enforcement Using the Statecall Policy Language

Abstract: Abstract. Internet protocols encapsulate a significant amount of state, making implementing the host software complex. In this paper, we define the Statecall Policy Language (SPL) which provides a usable middle ground between ad-hoc coding and formal reasoning. It enables programmers to embed automata in their code which can be statically modelchecked using SPIN and dynamically enforced. The performance overheads are minimal, and the automata also provide higher-level debugging capabilities. We also describe s… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1

Citation Types

0
4
0

Year Published

2010
2010
2023
2023

Publication Types

Select...
2
2
1

Relationship

1
4

Authors

Journals

citations
Cited by 5 publications
(4 citation statements)
references
References 20 publications
0
4
0
Order By: Relevance
“…For instance, with the Statecall Policy Language presented by Madhavapeddy et al [14], one can describe statefull automatons which are compiled into three different targets: OCaml code to embed in an application, Promela code to check temporal properties with the SPIN 8 model checker, and HTML/Ajax code for real-time monitoring of the application. Another example is the declarative sensor networks (DSN) platform (Chu et al [7]).…”
Section: Related Workmentioning
confidence: 99%
“…For instance, with the Statecall Policy Language presented by Madhavapeddy et al [14], one can describe statefull automatons which are compiled into three different targets: OCaml code to embed in an application, Promela code to check temporal properties with the SPIN 8 model checker, and HTML/Ajax code for real-time monitoring of the application. Another example is the declarative sensor networks (DSN) platform (Chu et al [7]).…”
Section: Related Workmentioning
confidence: 99%
“…Any blocking function can be macro-expanded at compile-time to block more often, for example with a high-level debugger. We have previously explored these ideas while integrating modelchecking into server applications [25] and are now prototyping a web-based debugger specially designed to find problems in Mirage code.…”
Section: Concurrencymentioning
confidence: 99%
“…We have the first revision of Mirage running, 12 targeting Xen cloud systems and desktop operating systems, and are working on retargeting for ARM-based handhelds. There are many "bare-metal" optimizations in progress for the cloud target which promise improved performance, as well as integrating improved versions of our previous work on fast, type-safe network parsing [26] and model-checking [25]. Even unoptimised, the runtime library for a cloud backend is around 1MB in size, in contrast to Linux distributions which are difficult to squeeze below 16MB and Windows which runs into hundreds of megabytes.…”
Section: Statusmentioning
confidence: 99%
“…Overall architecture of the simulator [3]The state transition models of Raft were encoded using the Statecall Policy Language (SPL)[4,5]. They used OCaml to build their simulator, instead of the original implementation of Raft which was done in C++ because OCaml provided static typing and a powerful module system.Their implementation could also test and detect bugs in the implementation.To test the Raft protocol across diverse network environments, they built a message level network simulation function.…”
mentioning
confidence: 99%