The AWK programming language
Handbook of theoretical computer science (vol. B)
Generating test cases for real-time systems from logic specifications
ACM Transactions on Computer Systems (TOCS)
Efficient and language-independent mobile programs
PLDI '96 Proceedings of the ACM SIGPLAN 1996 conference on Programming language design and implementation
Java security: hostile applets, holes&antidotes
Java security: hostile applets, holes&antidotes
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Java virtual machine
A type system for Java bytecode subroutines
POPL '98 Proceedings of the 25th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Java security: Web browsers and beyond
Internet besieged
The design and implementation of a certifying compiler
PLDI '98 Proceedings of the ACM SIGPLAN 1998 conference on Programming language design and implementation
A type system for object initialization in the Java bytecode language
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Is the Java type system sound?
Theory and Practice of Object Systems - Special issue on foundations of object-oriented languages
Using model checking to generate tests from requirements specifications
ESEC/FSE-7 Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering
Distributed virtual machines: a system architecture for network computing
Proceedings of the 8th ACM SIGOPS European workshop on Support for composing distributed applications
Development models of herbaceous plants for computer imagery purposes
SIGGRAPH '88 Proceedings of the 15th annual conference on Computer graphics and interactive techniques
Java Virtual Machine Specification
Java Virtual Machine Specification
Automatically Generating Test Data from a Boolean Specification
IEEE Transactions on Software Engineering
Functional Programming, Concurrency, Simulation and Automated Reasoning: International Lecture Series 1991-1992, McMaster University, Hamilton, Ontario, Canada
Test plan generation using formal grammars
ICSE '79 Proceedings of the 4th international conference on Software engineering
Harissa: a flexible and efficient java environment mixing bytecode and compiled code
COOTS'97 Proceedings of the 3rd conference on USENIX Conference on Object-Oriented Technologies (COOTS) - Volume 3
Toba: java for applications a way ahead of time (WAT) compiler
COOTS'97 Proceedings of the 3rd conference on USENIX Conference on Object-Oriented Technologies (COOTS) - Volume 3
Design and implementation of a distributed virtual machine for networked computers
Proceedings of the seventeenth ACM symposium on Operating systems principles
Programming and Computing Software
Survey of compiler testing methods
Programming and Computing Software
Toward an engineering discipline for grammarware
ACM Transactions on Software Engineering and Methodology (TOSEM)
Combining test case generation and runtime verification
Theoretical Computer Science - Abstract state machines and high-level system design and analysis
When and how to develop domain-specific languages
ACM Computing Surveys (CSUR)
An empirical study of the robustness of MacOS applications using random testing
Proceedings of the 1st international workshop on Random testing
An empirical study of the robustness of MacOS applications using random testing
ACM SIGOPS Operating Systems Review
Automated testing of refactoring engines
Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering
Systematic Testing of Model-Based Code Generators
IEEE Transactions on Software Engineering
Directed test generation using symbolic grammars
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
Extended interface grammars for automated stub generation
Proceedings of the second workshop on Automated formal methods
Grammar-based whitebox fuzzing
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
Client and server verification for web services using interface grammars
TAV-WEB '08 Proceedings of the 2008 workshop on Testing, analysis, and verification of web services and applications
Deriving input syntactic structure from execution
Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering
Using abstract models for the generation of test data with a complex structure
Programming and Computing Software
An Introduction to Grammar Convergence
IFM '09 Proceedings of the 7th International Conference on Integrated Formal Methods
Automating test case definition using a domain specific language
Proceedings of the 46th Annual Southeast Regional Conference on XX
Generating Interface Grammars from WSDL for Automated Verification of Web Services
ICSOC-ServiceWave '09 Proceedings of the 7th International Joint Conference on Service-Oriented Computing
Efficient monitoring of parametric context-free patterns
Automated Software Engineering
Data generation in model-based testing
Proceedings of the 2010 ACM Symposium on Applied Computing
Two case studies in grammar-based test generation
Journal of Systems and Software
Automated generation of web service stubs using LTL satisfiability solving
WS-FM'10 Proceedings of the 7th international conference on Web services and formal methods
Controllable combinatorial coverage in grammar-based testing
TestCom'06 Proceedings of the 18th IFIP TC6/WG6.1 international conference on Testing of Communicating Systems
Evaluating program analysis and testing tools with the RUGRAT random benchmark application generator
Proceedings of the 2012 Workshop on Dynamic Analysis
Comparison of context-free grammars based on parsing generated test data
SLE'11 Proceedings of the 4th international conference on Software Language Engineering
Test input generation using dynamic programming
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
Modeling the Java Bytecode Verifier
Science of Computer Programming
The optimisation of stochastic grammars to enable cost-effective probabilistic structural testing
Proceedings of the 15th annual conference on Genetic and evolutionary computation
Hi-index | 0.00 |
Extensible typesafe systems, such as Java, rely critically on a large and complex software base for their overall protection and integrity, and are therefore difficult to test and verify. Traditional testing techniques, such as manual test generation and formal verification, are too time consuming, expensive, and imprecise, or work only on abstract models of the implementation and are too simplistic. Consequently, commercial virtual machines deployed so far have exhibited numerous bugs and security holes.In this paper, we discuss our experience with using production grammars in testing large, complex and safety-critical software systems. Specifically, we describe lava, a domain specific language we have developed for specifying production grammars, and relate our experience with using lava to generate effective test suites for the Java virtual machine. We demonstrate the effectiveness of production grammars in generating complex test cases that can, when combined with comparative and variant testing techniques, achieve high code and value coverage. We also describe an extension to production grammars that enables concurrent generation of certificates for test cases. A certificate is a behavioral description that specifies the intended outcome of the generated test case, and therefore acts as an oracle by which the correctness of the tested system can be evaluated in isolation. We report the results of applying these testing techniques to commercial Java implementations. We conclude that the use of production grammars in combination with other automated testing techniques is a powerful and effective method for testing software systems, and is enabled by a special purpose language for specifying extended production grammars.