- Sponsor:
- sigsoft
It is our great pleasure to welcome you to ISSTA 2006 -- The 2006 International Symposium on Software Testing and Analysis. This year's symposium continues its tradition of being the leading conference in software testing and analysis, bringing together academics, industrial researchers, and practitioners to exchange new ideas, solve problems, and share experiences related to problems involving software testing and program analysis.The technical program of ISSTA 2006 consists of technical papers, industry papers, and big-new-ideas papers. Eighty-four, seven, and three papers were submitted to the technical, industry, and big-new-ideas papers calls, respectively. Each paper was reviewed by at least three members of the respective Program Committees, and some were reviewed by more members or outside reviewers. The Program Committee selected twenty-two technical papers, three industry papers, and one big-new-ideas papers for inclusion in the conference.The New Faculty Symposium provides a forum for new Assistant Professors conducting research in the area of software testing and analysis. The symposium includes presentations by Laurie Dillon and Michal Young, who provide guidance and advice based on experiences and insights into research, teaching, and service challenges as a new faculty member. The first Doctoral Symposium held at ISSTA provides a forum for Ph.D. students working in the area of software testing and analysis to publicly discuss their research goals, methods, and preliminary results with senior researchers from the software testing and analysis community in a constructive and friendly atmosphere.Participants receive useful guidance for completion of their dissertation research and initiation of a research career in software testing and analysis. The nine submissions were reviewed by the Doctoral Symposium Committee; seven were selected for presentation. Five workshops are being held in conjunction with ISSTA 2006 - Workshop on Parallel and Distributed Systems: Testing and Debugging (PADTAD), Workshop on Testing, Analysis and Verification of Web Services and Applications (TAV-WEB), Workshop on the Role of Software Architecture for Testing and Analysis (ROSATEA), First International Workshop on Random Testing (RT), and Second Workshop on Testing Aspect-Oriented programs (WTAOP).
Proceeding Downloads
TimeAware test suite prioritization
Regression test prioritization is often performed in a time constrained execution environment in which testing only occurs for a fixed time period. For example, many organizations rely upon nightly building and regression testing of their applications ...
The species per path approach to SearchBased test data generation
This paper introduces the Species per Path approach to search-based software test data generation. The approach transforms the program under test into a version in which multiple paths to the search target are factored out. Test data are then sought for ...
Coverage metrics for requirements-based testing
In black-box testing, one is interested in creating a suite of tests from requirements that adequately exercise the behavior of a software system without regard to the internal structure of the implementation. In current practice, the adequacy of black ...
Test input generation for java containers using state matching
The popularity of object-oriented programming has led to the wide use of container libraries. It is important for the reliability of these containers that they are tested adequately. We describe techniques for automated test input generation of Java ...
Experimental program analysis: a new program analysis paradigm
Program analysis techniques are used by software engineers to deduce and infer characteristics of software systems. Recent research has suggested that a new form of program analysis technique can be created by incorporating characteristics of ...
Looking for bugs in all the right places
We continue investigating the use of a negative binomial regression model to predict which files in a large industrial software system are most likely to contain many faults in the next release. A new empirical study is described whose subject is an ...
A model and sensitivity analysis of the quality economics of defect-detection techniques
One of the main cost factors in software development is the detection and removal of defects. However, the relationships and influencing factors of the costs and revenues of defect-detection techniques are still not well understood. This paper proposes ...
Subdomain testing of units and systems with state
This paper extends basic software-testing theory to software components and adds explicit state to the theory. The resulting theory is simple enough to abstractly model the construction of systems from their parts ('units'). It provides an ...
Breaking up is hard to do: an investigation of decomposition for assume-guarantee reasoning
Finite-state verification techniques are often hampered by the stateexplosion problem. One proposed approach for addressing this problem is assume-guarantee reasoning. Using recent advances in assume-guarantee reasoning that automatically generate ...
Modular verification of code with SAT
An approach is described for checking the methods of a class against a full specification. It shares with traditional model checking the idea of exhausting the entire space of executions within some finite bounds, and with traditional verification the ...
Role-Based access control consistency validation
Modern enterprise systems support Role-Based Access Control (RBAC). Although RBAC allows restricting access to privileged operations, a deployer may actually intend to restrict access to privileged data. This paper presents a theoretical foundation for ...
Effective typestate verification in the presence of aliasing
This paper addresses the challenge of sound typestate verification, with acceptable precision, for real-world Java programs. We present a novel framework for verification of typestate properties, including several new techniques to precisely treat ...
Testing, abstraction, theorem proving: better together!
We present a method for static program analysis that leverages tests and concrete program executions. State abstractions generalize the set of program states obtained from concrete executions. A theorem prover then checks that the generalized set of ...
Using model checking with symbolic execution to verify parallel numerical programs
We present a method to verify the correctness of parallel programs that perform complex numerical computations, including computations involving floating-point arithmetic. The method requires that a sequential version of the program be provided, to ...
From daikon to agitator: lessons and challenges in building a commercial tool for developer testing
Developer testing is of one of the most effective strategies for improving the quality of software, reducing its cost, and accelerating its development. Despite its widely recognized benefits, developer testing is practiced by only a minority of ...
Run-time monitoring of architecturally significant behaviors using behavioral profiles and aspects
Although static structures are often advocated as the main ingredient of a software architecture, dynamic program behavior forms an essential part of it. Verifying the behavior is a crucial yet often troublesome part of testing. Hence, it is of great ...
The case for analysis preserving language transformation
Static analysis has gained much attention over the past few years in applications such as bug finding and program verification. As software becomes more complex and componentized, it is common for software systems and applications to be implemented in ...
Application of automated environment generation to commercial software
Model checking can be an effective technique for detecting concurrency-related errors in software systems. However, due to scalability issues, to handle industrial-strength software, model checking needs to be combined with powerful reduction ...
Automated testing of stochastic systems: a statistically grounded approach
Automated tests can play a key role in ensuring system quality in software development. However, significant problems arise in automating tests of stochastic algorithms. Normally, developers write tests that simply check whether the actual result is ...
Performance assertions for mobile devices
Assertions have long been used to validate the functionality of software systems. Researchers and practitioners have extended them for validation of non-functional requirements, such as performance. This paper presents the implementation and application ...
Inference and enforcement of data structure consistency specifications
Corrupt data structures are an important cause of unacceptable program execution. Data structure repair (which eliminates inconsistencies by updating corrupt data structures to conform to consistency constraints) promises to enable many programs to ...
DSD-Crasher: a hybrid analysis tool for bug finding
DSD-Crasher is a bug finding tool that follows a three-step approach to program analysis:
D. Capture the program's intended execution behavior with dynamic invariant detection. The derived invariants exclude many unwanted values from the program's input ...
Dynamic inference of abstract types
An abstract type groups variables that are used for related purposes in a program. We describe a dynamic unification-based analysis for inferring abstract types. Initially, each run-time value gets a unique abstract type. A run-time interaction among ...
- Proceedings of the 2006 international symposium on Software testing and analysis