Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Reducing scheduling sequences of message-passing parallel programs

Published: 01 December 2016 Publication History
  • Get Citation Alerts
  • Abstract

    Context: Message-passing parallel programs are commonly used parallel programs. Various scheduling sequences contained in these programs, however, increase the difficulty of testing them. Therefore, reducing scheduling sequences by using appropriate approaches can greatly improve the efficiency of testing these programs.Objective: This paper focuses on the problem of reducing scheduling sequences of message-passing parallel programs, and presents a novel approach to reducing scheduling sequences.Method: In this approach, scheduling sequences that affect the target statement are first determined based on the relation between a scheduling sequence and the execution of the target statement. Then, these scheduling sequences are divided into a number of equivalent classes according to the execution of the target statement. Finally, for each scheduling sequence in the same equivalent class, the values of the two proposed indexes are calculated, and the scheduling sequence with the minimal comprehensive value is selected as the one after reduction.Results: To evaluate the performance of the proposed approach, it is applied to test 12 typical message-passing parallel programs. The experimental results show that the proposed approach reduces 63% scheduling sequences on average. And compared with the method without reduction, and the method with randomly selecting scheduling sequences, the proposed approach shortens 67% and 52% execution time of a program for covering the target statement on average, respectively.Conclusion: The proposed approach can greatly reduce scheduling sequences, and shorten execution time of a program for covering the target statement, hence improving the efficiency of testing the program.

    References

    [1]
    B. Beizer, Software Testing Techniques, Van Nostrand Reinhold, 1990.
    [2]
    J.C. Munson, Software Engineering Measurement, CRC Press, 2003.
    [3]
    S.R. Souza, M.A.S. Brito, R.A. Silva, P.S.L. Souza, E. Zaluska, Research in Concurrent Software Testing: A Systematic Review, ACM, 2011.
    [4]
    G.L. Chen, Parallel Computing: Structure Algorithm Programming, Higher Education Press, 2011.
    [5]
    Z.H. Du, S.L. Li, Y. Chen, P. Liu, Parallel programming technology of high performance computing-MPI parallel programming, Beijing: Tsinghua University press, 2001.
    [6]
    M. Christakis, K. Sagonas, Detection of asynchronous message passing errors using static analysis, Springer, 2011.
    [7]
    A. Miné, Static analysis of run-time errors in embedded critical parallel C programs, Springer, 2011.
    [8]
    S.F. Siegel, T.K. Zirkel, Automatic formal verification of MPI-based parallel programs, ACM SIGPLAN Notices, 46 (2011) 309-310.
    [9]
    C. Flanagan, P. Godefroid, Dynamic partial-order reduction for model checking software, ACM SIGPLAN Notices, 40 (2005) 110-121.
    [10]
    S. Vakkalanka, M. DeLisi, G. Gopalakrishnan, R.M. Kirby, R. Thakur, W. Gropp, Implementing efficient dynamic formal verification methods for MPI programs, Springer, 2008.
    [11]
    B. Krammer, M.M. Resch, Correctness Checking of MPI One-Sided Communication Using Marmot, Springer, 2006.
    [12]
    J.S. Vetter, B.R. De Supinski, Dynamic Software Testing of MPI Applications with Umpire, IEEE, 2000.
    [13]
    M.Y. Park, S.J. Shim, Y.K. Jun, H.R. Park, Mpirace-check: Detection of message races in MPI programs, Springer, 2007.
    [14]
    Y. Lei, R.H. Carver, Reachability testing of concurrent programs, IEEE Trans. Softw. Eng., 32 (2006) 382-403.
    [15]
    R.H. Carver, Y. Lei, Distributed reachability testing of concurrent programs, Concurrency Comput., 22 (2010) 2445-2466.
    [16]
    S. Shivaprasad, N. Prasad, Unit testing concurrent java programs, Int. J. Comput. Appl., 67 (2013) 41-46.
    [17]
    G.H. Hwang, H.Y. Lin, S.Y. Lin, C.S. Lin, Statement-coverage testing for nondeterministic concurrent programs, IEEE, 2012.
    [18]
    R. Ferguson, B. Korel, Generating test data for distributed software using the chaining approach, Inf. Softw. Technol., 38 (1996) 343-353.
    [19]
    T. Tian, D.W. Gong, Test data generation for path coverage of message-passing parallel programs based on co-evolutionary genetic algorithms, Autom. Softw. Eng. (2014) 1-32.
    [20]
    Q. Chen, L. Wang, Z. Yang, S.D. Stoller, HAVE: detecting atomicity violations via integrated dynamic and static analysis, Springer, 2009.
    [21]
    J. Schimmel, K. Molitorisz, A. Jannesari, W.F. Tichy, Automatic generation of parallel unit tests, IEEE Press, 2013.
    [22]
    M.X. Liao, Z.H. Fan, Deadlock detection in basic models of MPI synchronization communication programs, Acta Electronica Sinica, 36 (2008) 402-407.
    [23]
    C.S.D. Yang, L.L. Pollock, All-uses testing of shared memory parallel programs, Softw. Testing, Verification Reliab., 13 (2003) 3-24.
    [24]
    C.S.D. Yang, A.L. Souter, L.L. Pollock, All-du-path coverage for parallel programs, ACM, 1998.
    [25]
    S. Souza, S.R. Vergilio, P. Souza, A. Simao, A.C. Hausen, Structural testing criteria for message-passing parallel programs, Concurrency Comput., 20 (2008) 1893-1916.
    [26]
    A. Sen, M.S. Abadir, Coverage metrics for verification of concurrent SystemC designs using mutation testing, IEEE, 2010.
    [27]
    S.D. Conte, H.E. Dunsmore, V.Y. Shen, Software Engineering Metrics and Models, Benjamin-Cummings Publishing Co., Inc., 1986.
    [28]
    J. Ferrer, F. Chicano, E. Alba, Estimating software testing complexity, Inf. Softw. Technol., 55 (2013) 2125-2139.
    [29]
    B.A. Nejmeh, NPATH: a measure of execution path complexity and its applications, Commun. ACM, 31 (1988) 188-200.
    [30]
    T.J. McCabe, A complexity measure, IEEE Trans. Softw. Eng. (1976) 308-320.
    [31]
    M.H. Halstead, Elements of Software Science (Operating and Programming Systems Series), Elsevier New York, 1977.
    [32]
    T. Tian, D.W. Gong, Evolutionary generation of test data for path coverage through selecting target paths based on coverage difficulty, J. Zhejiang Univ. (Eng. Sci.), 5 (2014) 22-30.
    [33]
    M.K. Debbarma, N. Kar, A. Saha, Static and dynamic software metrics complexity analysis in regression testing, IEEE, 2012.
    [34]
    M. Papadakis, N. Malevris, Mutation based test case generation via a path selection strategy, Inf. Softw. Technol., 54 (2012) 915-932.
    [35]
    D. Culler, R. Karp, D. Patterson, A. Sahay, K.E. Schauser, E. Santos, R. Subramonian, T. Von Eicken, LogP: Towards a realistic model of parallel computation, ACM, 1993.
    [36]
    A. Alexandrov, M.F. Ionescu, K.E. Schauser, C. Scheiman, LogGP: incorporating long messages into the LogP modelíone step closer towards a realistic model for parallel computation, ACM, 1995.
    [37]
    F. Ino, N. Fujimoto, K. Hagihara, LogGPS: a parallel computational model for synchronization analysis, ACM, 2001.
    [38]
    C.A. Moritz, M.I. Frank, LoGPC: Modeling network contention in message-passing programs, ACM, 1998.
    [39]
    T.H. Cormen, M.T. Goodrich, A bridging model for parallel computation, communication, and i/o, ACM Comput. Surv. (CSUR), 28 (1996) 208.
    [40]
    S.E. Hambrusch, A. Khokhar, C 3: An architecture-independent model for coarse-grained parallel machines, IEEE, 1994.
    [41]
    R. Thakur, R. Rabenseifner, W. Gropp, Optimization of collective communication operations in MPICH, Int. J. High Perform. Comput. Appl., 19 (2005) 49-66.
    [42]
    K.J. Ottenstein, L.M. Ottenstein, The program dependence graph in a software development environment, ACM, 1984.
    [43]
    J. Cheng, Slicing concurrent programs-AGraph-Theoretical approach, Autom. Algorithmic Debugging (1993) 223-240.
    [44]
    D. Pan, Dalian University of Technology, 2009.
    [45]
    C.Q. Zhong, China University of Mining and Technology, 2014.
    [46]
    L.P. Ma, The study and use of modern statistical analysis methods(three): Standardization of statistical data-dimensionless method, 03 (2000) 34-35.
    [47]
    G.L. Chen, H. An, L. Chen, Parallel Algorithm Practice, Higher Education Press, 2004.
    [48]
    H. Liu, B. Dai, Y. Zhang, W.-B. Zhang, Simple logp model's parameters simulate, J. Univ. Electron. Sci. Technol. China, 34 (2005) 229-232.

    Cited By

    View all
    • (2024)Parallel program testing based on critical communication and branch transformationThe Journal of Supercomputing10.1007/s11227-023-05460-480:1(519-548)Online publication date: 1-Jan-2024
    • (2021)Test Data Generation for Path Coverage of MPI Programs Using SAEOACM Transactions on Software Engineering and Methodology10.1145/342313230:2(1-37)Online publication date: 3-Jan-2021

    Index Terms

    1. Reducing scheduling sequences of message-passing parallel programs
      Index terms have been assigned to the content through auto-classification.

      Recommendations

      Comments

      Information & Contributors

      Information

      Published In

      cover image Information and Software Technology
      Information and Software Technology  Volume 80, Issue C
      December 2016
      287 pages

      Publisher

      Butterworth-Heinemann

      United States

      Publication History

      Published: 01 December 2016

      Author Tags

      1. Equivalent class
      2. Message-passing parallel program
      3. Reduction of scheduling sequences
      4. Software testing
      5. Statement coverage

      Qualifiers

      • Research-article

      Contributors

      Other Metrics

      Bibliometrics & Citations

      Bibliometrics

      Article Metrics

      • Downloads (Last 12 months)0
      • Downloads (Last 6 weeks)0
      Reflects downloads up to 11 Aug 2024

      Other Metrics

      Citations

      Cited By

      View all
      • (2024)Parallel program testing based on critical communication and branch transformationThe Journal of Supercomputing10.1007/s11227-023-05460-480:1(519-548)Online publication date: 1-Jan-2024
      • (2021)Test Data Generation for Path Coverage of MPI Programs Using SAEOACM Transactions on Software Engineering and Methodology10.1145/342313230:2(1-37)Online publication date: 3-Jan-2021

      View Options

      View options

      Get Access

      Login options

      Media

      Figures

      Other

      Tables

      Share

      Share

      Share this Publication link

      Share on social media