Dynamically Discovering Likely Program Invariants to Support Program Evolution
IEEE Transactions on Software Engineering - Special issue on 1999 international conference on software engineering
Component-based software engineering: putting the pieces together
Component-based software engineering: putting the pieces together
POPL '02 Proceedings of the 29th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Automatic extraction of object-oriented component interfaces
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
The Cow_Suite Approach to Planning and Deriving Test Suites in UML Projects
UML '02 Proceedings of the 5th International Conference on The Unified Modeling Language
SALT - An Integrated Environment to Automate Generation of Function Tests for APIs
ISSRE '00 Proceedings of the 11th International Symposium on Software Reliability Engineering
Rostra: A Framework for Detecting Redundant Object-Oriented Unit Tests
Proceedings of the 19th IEEE international conference on Automated software engineering
Selective capture and replay of program executions
WODA '05 Proceedings of the third international workshop on Dynamic analysis
Automatic test factoring for java
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Static control-flow analysis for reverse engineering of UML sequence diagrams
PASTE '05 Proceedings of the 6th ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Tool-assisted unit-test generation and selection based on operational abstractions
Automated Software Engineering
Automated systematic testing of open distributed programs
FASE'06 Proceedings of the 9th international conference on Fundamental Approaches to Software Engineering
A comparative study of programmer-written and automatically inferred contracts
Proceedings of the eighteenth international symposium on Software testing and analysis
GenUTest: a unit test and mock aspect generation tool
HVC'07 Proceedings of the 3rd international Haifa verification conference on Hardware and software: verification and testing
Generating integration test cases automatically
Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
Hi-index | 0.00 |
A component-based software system consists of well-encapsulated components that interact with each other via their interfaces. Software integration tests are generated to test the interactions among different components. These tests are usually in the form of sequences of interface method calls. Although many components are equipped with documents that provide informal specifications of individual interface methods, few documents specify component interaction constraints on the usage of these interface methods, including the order in which these methods should be called and the constraints on the method arguments and returns across multiple methods. In this paper, we propose Substra, a framework for automatic generation of software integration tests based on call-sequence constraints inferred from initial-test executions or normal runs of the subsystem under test. Two types of sequencing constraints are inferred: shared subsystem states and object define-use relationships. The inferred constraints are used to guide automatic generation of integration tests. We have implemented Substra with a tool and applied the tool on an ATM example. The preliminary results show that the tool can effectively generate integration tests that exercise new program behaviors.