Type-directed bounding of collections in reactive programs

1Citations
Citations of this article
4Readers
Mendeley users who have this article in their library.
Get full text

Abstract

Our aim is to statically verify that in a given reactive program, the length of collection variables does not grow beyond a given bound. We propose a scalable type-based technique that checks that each collection variable has a given refinement type that specifies constraints about its length. A novel feature of our refinement types is that the refinements can refer to AST counters that track how many times an AST node has been executed. This feature enables type refinements to track limited flow-sensitive information. We generate verification conditions that ensure that the AST counters are used consistently, and that the types imply the given bound. The verification conditions are discharged by an off-the-shelf SMT solver. Experimental results demonstrate that our technique is scalable, and effective at verifying reactive programs with respect to requirements on length of collections.

Cite

CITATION STYLE

APA

Lu, T., Černý, P., Chang, B. Y. E., & Trivedi, A. (2019). Type-directed bounding of collections in reactive programs. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 11388 LNCS, pp. 275–296). Springer Verlag. https://doi.org/10.1007/978-3-030-11245-5_13

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free