Abstract

This paper introduces the use of sequencing constraints for specifying, testing, and debugging concurrent programs. An execution of a concurrent program P nondeterministically exercises a sequence of synchronization events, called a synchronization sequence (or SYN-sequence). Sequencing constraints (or constraints) specify restrictions on the allowed SYN-sequences of P. Constraints for P are derived from a formal or informal specification of P and do not have to be complete. The SYN-sequences collected during nondeterministic testing of P can be used to measure coverage and detect violations of P's constraints. Also, SYN-sequences can be generated according to P's constraints and used for deterministic testing of P. This paper shows in detail how to accomplish coverage and detect violations of constraints written in CSPE (Constraints on Succeeding and Preceding Events) by nondeterministic and deterministic testing.

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.