Streaming Property Testing of Visibly Pushdown Languages

Authors Nathanaël François, Frédéric Magniez, Michel de Rougemont, Olivier Serre

Thumbnail PDF


  • Filesize: 0.66 MB
  • 17 pages

Document Identifiers

Author Details

Nathanaël François
Frédéric Magniez
Michel de Rougemont
Olivier Serre

Cite AsGet BibTex

Nathanaël François, Frédéric Magniez, Michel de Rougemont, and Olivier Serre. Streaming Property Testing of Visibly Pushdown Languages. In 24th Annual European Symposium on Algorithms (ESA 2016). Leibniz International Proceedings in Informatics (LIPIcs), Volume 57, pp. 43:1-43:17, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2016)


In the context of formal language recognition, we demonstrate the superiority of streaming property testers against streaming algorithms and property testers, when they are not combined. Initiated by Feigenbaum et al., a streaming property tester is a streaming algorithm recognizing a language under the property testing approximation: it must distinguish inputs of the language from those that are eps-far from it, while using the smallest possible memory (rather than limiting its number of input queries). Our main result is a streaming eps-property tester for visibly pushdown languages (V_{PL}) with memory space poly(log n /epsilon). Our construction is done in three steps. First, we simulate a visibly pushdown automaton in one pass using a stack of small height but whose items can be of linear size. In a second step, those items are replaced by small sketches. Those sketches rely on a notion of suffix-sampling we introduce. This sampling is the key idea for taking benefit of both streaming algorithms and property testers in the third step. Indeed, the last step relies on a (non-streaming) property tester for weighted regular languages based on a previous tester by Alon et al. This tester can directly be used for streaming testing special cases of instances of V_{PL} that are already hard for both streaming algorithms and property testers. We then use it to decide the correctness of completed items, given their sketches, before removing them from the stack.
  • Streaming Algorithm
  • Property Testing
  • Visibly Pushdown Languages


  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    PDF Downloads


  1. N. Alon, M. Krivelevich, I. Newman, and M. Szegedy. Regular languages are testable with a constant number of queries. SIAM Journal on Computing, 30(6), 2000. Google Scholar
  2. N. Alon, Y. Matias, and M. Szegedy. The space complexity of approximating the frequency moments. Journal of Computer and System Sciences, 58(1):137-147, 1999. Google Scholar
  3. R. Alur. Marrying words and trees. In Proc. of 26th ACM Symposium on Principles of Database Systems, pages 233-242, 2007. Google Scholar
  4. R. Alur, M. Arenas, P. Barceló, K. Etessami, N. Immerman, and L. Libkin. First-order and temporal logics for nested words. In Proc. of 22nd IEEE Symposium on Logic in Computer Science, pages 151-160, 2007. Google Scholar
  5. R. Alur, K. Etessami, and P. Madhusudan. A temporal logic of nested calls and returns. In Proc. of 10th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, pages 467-481, 2004. Google Scholar
  6. R. Alur and P. Madhusudan. Adding nesting structure to words. Journal of the ACM, 56(3), 2009. Google Scholar
  7. A. Babu, N. Limaye, and G. Varma. Streaming algorithms for some problems in log-space. In Proc. of 7th Conference on Theory and Applications of Models of Computation, pages 94-104, 2010. Google Scholar
  8. M. Blum, W. Evans, P. Gemmell, S. Kannan, and M. Naor. Checking the correctness of memories. Algorithmica, pages 90-99, 1995. Google Scholar
  9. M. Blum and S. Kannan. Designing programs that check their work. Journal of the ACM, 42(1):269-291, 1995. URL:
  10. M. Blum, M. Luby, and R. Rubinfeld. Self-testing/correcting with applications to numerical problems. Journal of Computer and System Sciences, 47(3):549-595, 1993. URL:
  11. B. von Braunmühl and R. Verbeek. Input-driven languages are recognized in log n space. In Proc. of 4th Conference on Fundamentals of Computation Theory, volume 158, pages 40-51, 1983. Google Scholar
  12. M. Chu, S. Kannan, and A. McGregor. Checking and spot-checking the correctness of priority queues. In Proc. of 34th International Colloquium on Automata, Languages and Programming, pages 728-739, 2007. Google Scholar
  13. P. Dymond. Input-driven languages are in log n depth. Information Processing Letters, 26(5):247-250, 1988. Google Scholar
  14. J. Feigenbaum, S. Kannan, M. Strauss, and M. Viswanathan. Testing and spot-checking of data streams. Algorithmica, 34(1):67-80, 2002. URL:
  15. E. Fischer, F. Magniez, and M. de Rougemont. Approximate satisfiability and equivalence. SIAM Journal on Computing, 39(6):2251-2281, 2010. Google Scholar
  16. O. Goldreich, S. Goldwasser, and D. Ron. Property testing and its connection to learning and approximation. In Proc. of 37th IEEE Symposium on Foundations of Computer Science, pages 339-348, 1996. Google Scholar
  17. C. Konrad and F. Magniez. Validating XML documents in the streaming model with external memory. ACM Transactions on Database Systems, 38(4):27, 2013. Special issue of ICDT'12. Google Scholar
  18. L. Libkin. Logics for unranked trees: An overview. Logical Methods in Computer Science, 2(3), 2006. Google Scholar
  19. F. Magniez and M. de Rougemont. Property testing of regular tree languages. Algorithmica, 49(2):127-146, 2007. Google Scholar
  20. F. Magniez, C. Mathieu, and A. Nayak. Recognizing well-parenthesized expressions in the streaming model. SIAM Journal on Computing, 43(6):1880-1905, 2014. Google Scholar
  21. K. Mehlorn. Pebbling mountain ranges and its application to dcfl-recognition. In Proc. of 7th International Colloquium on Automata, Languages, and Programming, pages 422-435, 1980. Google Scholar
  22. S. Muthukrishnan. Data streams: Algorithms and applications. Foundations and Trends in Theoretical Computer Science, 1(2):117-236, 2005. URL:
  23. A. Ndione, A. Lemay, and J. Niehren. Approximate membership for regular languages modulo the edit distance. Theoretical Computer Science, 487:37-49, 2013. Google Scholar
  24. A. Ndione, A. Lemay, and J. Niehren. Sublinear DTD validity. In Proc. of 19th International Conference on Language and Automata Theory and Applications, pages 739-751, 2015. Google Scholar
  25. M. Parnas, D. Ron, and R. Rubinfeld. Testing membership in parenthesis languages. Random Structures &Algorithms, 22(1):98-138, 2003. Google Scholar
  26. A. Rajeev and P. Madhusudan. Visibly pushdown languages. In Proc. of 36th ACM Symposium on Theory of Computing, pages 202-211, 2004. Google Scholar
  27. L. Segoufin and C. Sirangelo. Constant-memory validation of streaming XML documents against DTDs. In Proc. of 11th International Conference on Database Theory, pages 299-313, 2007. Google Scholar
  28. L. Segoufin and V. Vianu. Validating streaming XML documents. In Proc. of 11th ACM Symposium on Principles of Database Systems,, pages 53-64, 2002. Google Scholar