Software Testing, Verification and Reliability

Cover image for Vol. 25 Issue 3

Special Issue: Testing, Analysis and Debugging of Concurrent Programs

May 2015

Volume 25, Issue 3

Pages i–ii, 165–332

Issue edited by: Eitan Farchi, Robert M. Hierons, João Lourenço

  1. Issue Information

    1. Top of page
    2. Issue Information
    3. Editorial
    4. Special Issue Papers
    1. You have free access to this content
      Issue Information (pages i–ii)

      Article first published online: 14 APR 2015 | DOI: 10.1002/stvr.1552

  2. Editorial

    1. Top of page
    2. Issue Information
    3. Editorial
    4. Special Issue Papers
    1. You have free access to this content
      Special issue on testing, analysis and debugging of concurrent programs (pages 165–166)

      Eitan Farchi, Robert M. Hierons and João Lourenço

      Article first published online: 14 APR 2015 | DOI: 10.1002/stvr.1577

  3. Special Issue Papers

    1. Top of page
    2. Issue Information
    3. Editorial
    4. Special Issue Papers
    1. UNICORN: a unified approach for localizing non-deadlock concurrency bugs (pages 167–190)

      Sangmin Park, Richard Vuduc and Mary Jean Harrold

      Article first published online: 9 MAR 2014 | DOI: 10.1002/stvr.1523

      Thumbnail image of graphical abstract

      UNICORN is an automated dynamic pattern-detection-based technique that finds problematic memory access patterns for non-deadlock concurrency bugs. It detects significant classes of bug types, including order violations and both single-variable and multi-variable atomicity violations. This paper describes the UNICORN approach and its implementations in Java and C++, and evaluates these implementations empirically.

    2. A survey of race bug detection techniques for multithreaded programmes (pages 191–217)

      Shin Hong and Moonzoo Kim

      Article first published online: 19 DEC 2014 | DOI: 10.1002/stvr.1564

      Thumbnail image of graphical abstract

      Many race bug detection techniques have been developed to find concurrency errors in multithreaded programs. Because these techniques have different views on concurrent executions and detect race bugs of various types, it is difficult to compare different race bug detection techniques systematically. This paper presents a formal model that uniformly presents various views on concurrent executions. Then, we classify 43 race bug detection techniques on whether or not a target race bug violates operation block specification and/or data association specification.

    3. Object-sensitive cost analysis for concurrent objects (pages 218–271)

      Elvira Albert, Puri Arenas, Jesús Correas, Samir Genaim, Miguel Gómez-Zamalloa, Germán Puebla and Guillermo Román-Díez

      Article first published online: 4 MAR 2015 | DOI: 10.1002/stvr.1569

      Thumbnail image of graphical abstract

      This article presents a novel cost analysis framework for concurrent objects. Cost analysis aims at automatically approximating the resource consumption of executing a program in terms of its input parameters. We address this problem by means of a novel form of object-sensitive recurrence equations that use cost centers in order to keep the resource usage assigned to the different components separate.

    4. Advances in noise-based testing of concurrent software (pages 272–309)

      J. Fiedor, V. Hrubá, B. Křena, Z. Letko, S. Ur and T. Vojnar

      Article first published online: 5 SEP 2014 | DOI: 10.1002/stvr.1546

      Thumbnail image of graphical abstract

      The paper presents multiple recent achievements from the area of noise-based testing of concurrent software, which is based on influencing the scheduling in order to witness many different thread interleavings. Multiple noise heuristics (defining where, when and how to inject noise) are introduced, including several previously unpublished ones, and experimentally evaluated using concurrency coverage metrics. Further, recommendations for setting up noise-based testing are given together with a novel use of the genetic algorithm for finding suitable parameters of noise-based tests.

    5. Empirical evaluation of a new composite approach to the coverage criteria and reachability testing of concurrent programs (pages 310–332)

      S. R. S. Souza, P. S. L. Souza, M. A. S. Brito, A. S. Simao and E. J. Zaluska

      Article first published online: 9 FEB 2015 | DOI: 10.1002/stvr.1568

      Thumbnail image of graphical abstract

      This paper presents a new composite approach for concurrent programs testing, which uses reachability testing to guide the selection of the synchronization sequences tests according to a specific structural testing criterion. Message-passing concurrent programs in MPI are employed to evaluate the composite approach, and the results confirm the advantages of this approach for testing of concurrent applications

SEARCH

SEARCH BY CITATION