High level tree transducers and iterated pushdown tree transducers
Acta Informatica
Deforestation: transforming programs to eliminate trees
Proceedings of the Second European Symposium on Programming
PLDI '91 Proceedings of the ACM SIGPLAN 1991 conference on Programming language design and implementation
Tupling calculation eliminates multiple data traversals
ICFP '97 Proceedings of the second ACM SIGPLAN international conference on Functional programming
Higher-Order Pushdown Trees Are Easy
FoSSaCS '02 Proceedings of the 5th International Conference on Foundations of Software Science and Computation Structures
An algebraic formulation of the Chomsky hierarchy
Proceedings of the Proceedings of the First International Symposium on Category Theory Applied to Computation and Control
Typechecking for XML transformers
Journal of Computer and System Sciences - Special issue on PODS 2000
ACM Transactions on Programming Languages and Systems (TOPLAS)
Static approximation of dynamically generated Web pages
WWW '05 Proceedings of the 14th international conference on World Wide Web
XML type checking with macro tree transducers
Proceedings of the twenty-fourth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems
Practical refinement-type checking
Practical refinement-type checking
AMNESIA: analysis and monitoring for NEutralizing SQL-injection attacks
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Precise alias analysis for static detection of web application vulnerabilities
Proceedings of the 2006 workshop on Programming languages and analysis for security
On Model-Checking Trees Generated by Higher-Order Recursion Schemes
LICS '06 Proceedings of the 21st Annual IEEE Symposium on Logic in Computer Science
Reducing Unnecessary Conservativeness in Access Rights Analysis with String Analysis
APSEC '07 Proceedings of the 14th Asia-Pacific Software Engineering Conference
Static detection of cross-site scripting vulnerabilities
Proceedings of the 30th international conference on Software engineering
Collapsible Pushdown Automata and Recursion Schemes
LICS '08 Proceedings of the 2008 23rd Annual IEEE Symposium on Logic in Computer Science
Types and higher-order recursion schemes for verification of higher-order programs
Proceedings of the 36th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Automated Software Engineering
Model-checking higher-order functions
PPDP '09 Proceedings of the 11th ACM SIGPLAN conference on Principles and practice of declarative programming
A Type System Equivalent to the Modal Mu-Calculus Model Checking of Higher-Order Recursion Schemes
LICS '09 Proceedings of the 2009 24th Annual IEEE Symposium on Logic In Computer Science
Deciding monadic theories of hyperalgebraic trees
TLCA'01 Proceedings of the 5th international conference on Typed lambda calculi and applications
Precise analysis of string expressions
SAS'03 Proceedings of the 10th international conference on Static analysis
Towards practical typechecking for macro tree transducers
DBPL'07 Proceedings of the 11th international conference on Database programming languages
Exact XML type checking in polynomial time
ICDT'07 Proceedings of the 11th international conference on Database Theory
XML type checking using high-level tree transducer
FLOPS'06 Proceedings of the 8th international conference on Functional and Logic Programming
A type system equivalent to a model checker
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
The monadic second order theory of trees given by arbitrary level-two recursion schemes is decidable
TLCA'05 Proceedings of the 7th international conference on Typed Lambda Calculi and Applications
Verifying higher-order functional programs with pattern-matching algebraic data types
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Verification of tree-processing programs via higher-order model checking
APLAS'10 Proceedings of the 8th Asian conference on Programming languages and systems
FOSSACS'11/ETAPS'11 Proceedings of the 14th international conference on Foundations of software science and computational structures: part of the joint European conferences on theory and practice of software
Predicate abstraction and CEGAR for higher-order model checking
Proceedings of the 32nd ACM SIGPLAN conference on Programming language design and implementation
Fast and precise sanitizer analysis with BEK
SEC'11 Proceedings of the 20th USENIX conference on Security
Satisfiability modulo recursive programs
SAS'11 Proceedings of the 18th international conference on Static analysis
Symbolic finite state transducers: algorithms and applications
POPL '12 Proceedings of the 39th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Untyped recursion schemes and infinite intersection types
FOSSACS'10 Proceedings of the 13th international conference on Foundations of Software Science and Computational Structures
PSI'11 Proceedings of the 8th international conference on Perspectives of System Informatics
Exact flow analysis by higher-order model checking
FLOPS'12 Proceedings of the 11th international conference on Functional and Logic Programming
A traversal-based algorithm for higher-order model checking
Proceedings of the 17th ACM SIGPLAN international conference on Functional programming
An intersection type system for deterministic pushdown automata
TCS'12 Proceedings of the 7th IFIP TC 1/WG 202 international conference on Theoretical Computer Science
Towards a scalable software model checker for higher-order programs
PEPM '13 Proceedings of the ACM SIGPLAN 2013 workshop on Partial evaluation and program manipulation
Program certification by higher-order model checking
CPP'12 Proceedings of the Second international conference on Certified Programs and Proofs
FliPpr: a prettier invertible printing system
ESOP'13 Proceedings of the 22nd European conference on Programming Languages and Systems
Model-Checking higher-order programs with recursive types
ESOP'13 Proceedings of the 22nd European conference on Programming Languages and Systems
Model Checking Higher-Order Programs
Journal of the ACM (JACM)
A type-directed abstraction refinement approach to higher-order model checking
Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages
Hi-index | 0.00 |
We introduce higher-order, multi-parameter, tree transducers (HMTTs, for short), which are kinds of higher-order tree transducers that take input trees and output a (possibly infinite) tree. We study the problem of checking whether the tree generated by a given HMTT conforms to a given output specification, provided that the input trees conform to input specifications (where both input/output specifications are regular tree languages). HMTTs subsume higher-order recursion schemes and ordinary tree transducers, so that their verification has a number of potential applications to verification of functional programs using recursive data structures, including resource usage verification, string analysis, and exact type-checking of XML-processing programs. We propose a sound but incomplete verification algorithm for the HMTT verification problem: the algorithm reduces the verification problem to a model-checking problem for higher-order recursion schemes extended with finite data domains, and then uses (an extension of)Kobayashi's algorithm for model-checking recursion schemes. While the algorithm is incomplete (indeed, as we show in the paper, the verification problem is undecidable in general), it is sound and complete for a subclass of HMTTs called linear HMTTs . We have applied our HMTT verification algorithm to various program verification problems and obtained promising results.