such as nondeterminism, synchronization and inter-process communication which significantly increase the difficulty of validation and testing. A number of research studies have been conducted in concurrent program testing, investigat- ing new test mechanisms and adapting different approaches from the classical approaches used for sequential program testing.
This paper presents a mapping of this research, classify- ing the results into three main contributions: 1) works that propose a new approach, mechanism or framework for con- current programs test; 2) works that present a taxonomy, classification or discussion of concurrent bugs; and 3) works that present a tool or methodology to support concurrent program testing. The systematic review process was used to collect, conduct and analyze the available published papers. A systematic review is a process of assessment and interpre- tation of all available studies related to a research question or subject of specific interest, providing a background for further investigation [21].
An understanding of the systematic review process and how to implement it is becoming a key requirement for all researchers. It is a powerful resource that, if used correctly, can contribute with new research insights in a particular area or can provide an initial overview of the research area for a new researcher.
2. SYSTEMATIC REVIEW: PLANNING AND CONDUCTING
This systematic review was performed according to the process defined by Kitchenham and Charters [21]. This pro- cess is composed of three phases: 1) planning - definition of a protocol that specifies the plan that the systematic review will follow, 2) conducting - execution of the protocol planned and 3) reporting - divulgation of the results. For reasons of space, the paper only outlines the relevant information to understand the systematic review process. The full review is available in [2].