27.03.2014 Views

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SEKE 2012 Proceedings - Knowledge Systems Institute

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

the following inclusion relation among the criteria: ACCU,<br />

APU, AE, AES include the ANW criterion; the APU criterion<br />

includes the ACU criterion and the ANW includes the<br />

ACU criterion. These results suggest a test strategy to apply<br />

these testing criteria: 1) generate test cases adequate to<br />

ACCU criterion; 2) in the sequence, select new test cases to<br />

cover the APU criterion and 3) since there is not relationship<br />

between the other criteria pairs, it can be used information<br />

about the cost and effectiveness to generate new test cases,<br />

assuring that relevant aspects of the application under test<br />

will be properly tested.<br />

4.1 Threats to Validity<br />

The external validity of the experiment refers to the ability<br />

to generalize the results. Since the programs used are<br />

small, they may not be representative of the population.<br />

However these benchmarks are largely used to compare<br />

other testing techniques for multithreaded programs and<br />

they include programs that contain faults commonly found<br />

in these applications. The generalization can be achieved<br />

if the experiment is replicated considering other domain of<br />

concurrent applications.<br />

The construct validity threats concern the relationship<br />

between theory and observation. In our case, this threat is<br />

related to knowledge about the used programs and inserted<br />

faults, where this knowledge can influence the application<br />

of the testing criterion. To avoid this threat, the order of<br />

application of the criteria was different for each program,<br />

preventing that the knowledge of the programs and inserted<br />

faults would influence in the generation of test cases.<br />

5 Conclusion<br />

This paper presents an experimental study to evaluate a<br />

family of structural testing criteria for multithreaded programs,<br />

where the objective was to find evidence about the<br />

cost, effectiveness and strength of these testing criteria, aiming<br />

to define a testing strategy to apply them.<br />

The results of hypothesis analysis indicate that the testing<br />

criteria present different cost and effectivess. The comparison<br />

among the sequential criteria: AN, AE, ACU and<br />

APU, and the respective concurrent criteria: ANP and<br />

ANW, AES, ACCU and ACPU, resulted that the sequential<br />

criteria sequential are the most expensive in terms of<br />

application cost. In respect to effectiveness, the sequencial<br />

testing criteria obtained better results, where only the AES<br />

criterion had effectiveness similar to the AE criterion. The<br />

results related to the strength indicated the complementary<br />

relationship among the testing criteria.<br />

According to Wohlin et al. [9], an experiment will never<br />

provide the final answer to a question, hence, it is important<br />

to facilitate its replication. In this sense, we are packing the<br />

material used and generated in this experiment to provide a<br />

lab package, which it is available for public access 1 . We believe<br />

that is important to evaluate these aspects considering<br />

other testing criteria for multithreaded programs, but using<br />

the same benchmarks to allow the comparison between the<br />

results obtained.<br />

Acknowledgment<br />

The authors would like to thank FAPESP, Brazilian<br />

funding agency, for the financial support (process number:<br />

2010/04042-1).<br />

References<br />

[1] O. Edelstein, E. Farchi, E. Goldin, Y. Nir, G. Ratsaby, and<br />

S. Ur. Framework for testing multi-threaded java programs.<br />

Concurr. Comput.: Pract. Exper., 15:485–499, 2003.<br />

[2] P. V. Koppol, R. H. Carver, and K. C. Tai. Incremental integration<br />

testing of concurrent programs. IEEE Trans. Softw.<br />

Eng., 28:607–623, June 2002.<br />

[3] N. Li, U. Praphamontripong, and J. Offutt. An experimental<br />

comparison of four unit test criteria: Mutation, edge-pair,<br />

all-uses and prime path coverage. In ICSTW09 - International<br />

Conference on Software Testing, Verification and Validation<br />

Workshops, pages 220 –229, april 2009.<br />

[4] N. Rungta and E. G. Mercer. Clash of the titans: tools<br />

and techniques for hunting bugs in concurrent programs. In<br />

Proc. of PADTAD ’09, pages 9:1–9:10, New York, NY, USA,<br />

2009. ACM.<br />

[5] F. S. Sarmanho, P. S. Souza, S. R. Souza, and A. S.<br />

Simão. Structural testing for semaphore-based multithread<br />

programs. In Proc. of ICCS ’08, pages 337–346, Berlin,<br />

Heidelberg, 2008.<br />

[6] S. R. S. Souza, S. R. Vergilio, P. S. L. Souza, A. S. Simão,<br />

and A. C. Hausen. Structural testing criteria for messagepassing<br />

parallel programs. Concurr. Comput. : Pract. Exper.,<br />

20:1893–1916, November 2008.<br />

[7] Valgrind-Developers. Valgrind-3.6.1. http://valgrind.org.<br />

Accessed: jun/2011.<br />

[8] E. J. Weyuker. The cost of data flow testing: An empirical<br />

study. IEEE Trans. Softw. Eng., 16:121–128, February 1990.<br />

[9] C. Wohlin, P. Runeson, M. Höst, M. C. Ohlsson, B. Regnell,<br />

and A. Wesslén. Experimentation in software engineering:<br />

An Introduction. Kluwer Academic Publishers, 2000.<br />

[10] W. E. Wong, Y. Lei, and X. Ma. Effective generation of test<br />

sequences for structural testing of concurrent programs. In<br />

ICECCS, pages 539–548, 2005.<br />

[11] C. S. D. Yang, A. L. Souter, and L. L. Pollock. All-du-path<br />

coverage for parallel programs. SIGSOFT Softw. Eng. Notes,<br />

23:153–162, March 1998.<br />

[12] Y. Yang, X. Chen, and G. Gopalakrishnan. Inspect: A runtime<br />

model checker for multithreaded C programs. Technical<br />

report, 2008.<br />

1 http://stoa.usp.br/silvanamm/files<br />

479

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!