An empirical study of the reliability of UNIX utilities
Communications of the ACM
Improving conformance and interoperability testing
StandardView
ACM SIGSOFT Software Engineering Notes
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Component software: beyond object-oriented programming
Component software: beyond object-oriented programming
International workshop on testing distributed component-based systems
Proceedings of the 21st international conference on Software engineering
Test-infected: programmers love writing tests
More Java gems
Testing object-oriented systems: models, patterns, and tools
Testing object-oriented systems: models, patterns, and tools
Automatic extraction of object-oriented component interfaces
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
Computer
Automated Robustness Testing of Off-the-Shelf Software Components
FTCS '98 Proceedings of the The Twenty-Eighth Annual International Symposium on Fault-Tolerant Computing
Techniques for Testing Component-Based Software
ICECCS '01 Proceedings of the Seventh International Conference on Engineering of Complex Computer Systems
JCrasher: an automatic robustness tester for Java
Software—Practice & Experience
Practical refinement-type checking
Practical refinement-type checking
Modeling and Verification Using UML Statecharts: A Working Guide to Reactive System Design, Runtime Monitoring and Execution-based Model Checking
rCOS: a refinement calculus of object systems
Theoretical Computer Science - Components and objects
Feedback-Directed Random Test Generation
ICSE '07 Proceedings of the 29th international conference on Software Engineering
A subset of precise UML for model-based testing
Proceedings of the 3rd international workshop on Advances in model-based testing
A state-based approach to integration testing based on UML models
Information and Software Technology
Test Sequence Generation For Integration Testing Of Component Software1
The Computer Journal
State Based Robustness Testing for Components
Electronic Notes in Theoretical Computer Science (ENTCS)
A model of component-based programming
FSEN'07 Proceedings of the 2007 international conference on Fundamentals of software engineering
rCOS: theory and tool for component-based model driven development
FSEN'09 Proceedings of the Third IPM international conference on Fundamentals of Software Engineering
rCOS: a formal model-driven engineering method for component-based software
Frontiers of Computer Science in China
Network securing against threatening requests
DPM'11 Proceedings of the 6th international conference, and 4th international conference on Data Privacy Management and Autonomous Spontaneus Security
A systematic review of software robustness
Information and Software Technology
A framework for automated and certified refinement steps
Innovations in Systems and Software Engineering
Accelerated robustness testing of state-based components using reverse execution
Proceedings of the 28th Annual ACM Symposium on Applied Computing
Accelerated model-based robustness testing of state machine implementations
ACM SIGAPP Applied Computing Review
Hi-index | 0.00 |
Component-based development allows one to build software from existing components and promises to improve software reuse and reduce costs. For critical applications, the user of a component must ensure that it fits the requirements of the application. To achieve this, testing is a well-suited means when the source code of the components is not available. Robustness testing is a testing methodology to detect the vulnerabilities of a component under unexpected inputs or in a stressful environment. As components may fail differently in different states, we use a state machine based approach to robustness testing. First, a set of paths is generated to cover transitions of the state machine, and it is used by the test cases to bring the component into a specific control state. Second, method calls with invalid inputs are fed to the component in different states to test the robustness. By traversing the paths, the test cases cover more states and transitions compared to stateless API testing. We apply our approach to several components, including open source software, and compare our results with existing approaches.