Specifying operational profiles for modules
ISSTA '93 Proceedings of the 1993 ACM SIGSOFT international symposium on Software testing and analysis
Cleanroom software engineering: technology and process
Cleanroom software engineering: technology and process
Case study: a maintenance practice used with real-time telecommunications software
Journal of Software Maintenance: Research and Practice
Software Reliability and Testing
Software Reliability and Testing
Operational Profiles in Software-Reliability Engineering
IEEE Software
Operational profile specification, test case generation, and reliability estimation for modules
Operational profile specification, test case generation, and reliability estimation for modules
Deriving Software Statistical Testing Model from UML Model
QSIC '03 Proceedings of the Third International Conference on Quality Software
Assessing Uncertainty in Reliability of Component-Based Software Systems
ISSRE '03 Proceedings of the 14th International Symposium on Software Reliability Engineering
An Extended Operational Profile Model
ISSRE '04 Proceedings of the 15th International Symposium on Software Reliability Engineering
A Generic Model-Based Test Case Generator
ECBS '05 Proceedings of the 12th IEEE International Conference and Workshops on Engineering of Computer-Based Systems
A Model-Based Statistical Usage Testing of Communication Protocols
ECBS '06 Proceedings of the 13th Annual IEEE International Symposium and Workshop on Engineering of Computer Based Systems
Communication Protocol Engineering
Communication Protocol Engineering
Reachability Testing of Concurrent Programs
IEEE Transactions on Software Engineering
MapReduce: simplified data processing on large clusters
OSDI'04 Proceedings of the 6th conference on Symposium on Opearting Systems Design & Implementation - Volume 6
A Statistical Approach to Model-Based Robustness Testing
ECBS '07 Proceedings of the 14th Annual IEEE International Conference and Workshops on the Engineering of Computer-Based Systems
Adaptive random testing by balancing
Proceedings of the 2nd international workshop on Random testing: co-located with the 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE 2007)
Empirical Software Engineering
A combinatorial testing strategy for concurrent programs
Software Testing, Verification & Reliability
Programming Erlang: Software for a Concurrent World
Programming Erlang: Software for a Concurrent World
Structural testing criteria for message-passing parallel programs
Concurrency and Computation: Practice & Experience
A Task Tree Executor: New Runtime for Parallelized Legacy Software
ECBS '09 Proceedings of the 2009 16th Annual IEEE International Conference and Workshop on the Engineering of Computer Based Systems
A hybrid heuristic approach to optimize rule-based software quality estimation models
Information and Software Technology
An Approach to Parallelization of Legacy Software
ECBS-EERC '09 Proceedings of the 2009 First IEEE Eastern European Conference on the Engineering of Computer Based Systems
Software reliability estimation under certainty: generalization of the method of moments
HASE'04 Proceedings of the Eighth IEEE international conference on High assurance systems engineering
ASIAN'04 Proceedings of the 9th Asian Computing Science conference on Advances in Computer Science: dedicated to Jean-Louis Lassez on the Occasion of His 5th Cycle Birthday
An Intel Cilk plus based task tree executor architecture
SEPADS'12/EDUCATION'12 Proceedings of the 11th WSEAS international conference on Software Engineering, Parallel and Distributed Systems, and proceedings of the 9th WSEAS international conference on Engineering Education
Hi-index | 0.00 |
Context: Emerging multicores and clusters of multicores that may operate in parallel have set a new challenge - development of massively parallel software composed of thousands of loosely coupled or even completely independent threads/processes, such as MapReduce and Java 3.0 workers, or Erlang processes, respectively. Testing and verification is a critical phase in the development of such software products. Objective: Generating test cases based on operational profiles and certifying declared operational reliability figure of the given software product is a well-established process for the sequential type of software. This paper proposes an adaptation of that process for a class of massively parallel software - large-scale task trees. Method: The proposed method uses statistical usage testing and operational reliability estimation based on operational profiles and novel test suite quality indicators, namely the percentage of different task trees and the percentage of different paths. Results: As an example, the proposed method is applied to operational reliability certification of a parallel software infrastructure named the TaskTreeExecutor. The paper proposes an algorithm for generating random task trees to enable that application. Test runs in the experiments involved hundreds and thousands of Win32/Linux threads thus demonstrating scalability of the proposed approach. For practitioners, the most useful result presented is the method for determining the number of task trees and the number of paths, which are needed to certify the given operational reliability of a software product. The practitioners may also use the proposed coverage metrics to measure the quality of automatically generated test suite. Conclusion: This paper provides a useful solution for the test case generation that enables the operational reliability certification process for a class of massively parallel software called the large-scale task trees. The usefulness of this solution was demonstrated by a case study - operational reliability certification of the real parallel software product.