An empirical study of regression test selection techniques
ACM Transactions on Software Engineering and Methodology (TOSEM)
Prioritizing Test Cases For Regression Testing
IEEE Transactions on Software Engineering
Effectively prioritizing tests in development environment
ISSTA '02 Proceedings of the 2002 ACM SIGSOFT international symposium on Software testing and analysis
Tool Support for Testing Concurrent Java Components
IEEE Transactions on Software Engineering
Applying regression test selection for COTS-based applications
Proceedings of the 28th international conference on Software engineering
Unit testing concurrent software
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
jPredictor: a predictive runtime analysis tool for java
Proceedings of the 30th international conference on Software engineering
Improving Automated Testing of Multi-threaded Software
ICST '08 Proceedings of the 2008 International Conference on Software Testing, Verification, and Validation
ConcJUnit: unit testing for concurrent programs
PPPJ '09 Proceedings of the 7th International Conference on Principles and Practice of Programming in Java
Efficient Formalism-Independent Monitoring of Parametric Properties
ASE '09 Proceedings of the 2009 IEEE/ACM International Conference on Automated Software Engineering
MuTMuT: Efficient Exploration for Mutation Testing of Multithreaded Code
ICST '10 Proceedings of the 2010 Third International Conference on Software Testing, Verification and Validation
New Horizons in Multicore Software Engineering
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 2
Improved multithreaded unit testing
Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference on Foundations of software engineering
Hi-index | 0.00 |
This position paper argues for an approach to bring several techniques successful for (regression) testing of sequential code over to multithreaded code. Multithreaded code is getting increasingly important but remains extremely hard to develop and test. Most recent research on testing multithreaded code focuses solely on finding bugs in one given version of code. While there are many promising results, the tools are fairly slow (as they, conceptually, explore a large number of schedules) and do not exploit the fact that code evolves over several versions during development and maintenance. Our proposal is to allow explicit specification of relevant schedules (either manually written or automatically generated) for multithreaded tests, which can substantially speed up testing, especially for evolving code. To enable the use of schedules, we propose to design a novel language for specifying schedules in multithreaded tests, and to develop tools for automatic generation of multithreaded tests and for improved regression testing with multithreaded tests.