Grants and Contributions:
Grant or Award spanning more than one fiscal year. (2017-2018 to 2022-2023)
The security of information systems depends on the identification of software vulnerabilities and on the design of secure protocols for maintaining secrecy and integrity of information. Combinatorial testing methods can help minimize the cost and increase the effectiveness of software and network testing. In the past decades, a number of research studies have pointed to combinatorial testing as one of the most effective methods for black-box software testing. Advances in combinatorial testing have yielded effective methods for building compact test suites that guarantee excellent fault detection capability based on combinatorial coverage. However, several publications point to some essential features that need to be incorporated to the basic combinatorial testing model to make it more useful in practical software testing. Our research focuses on incorporating these requirements into the models enabling rigorous studies and providing efficient algorithms for the construction of effective test suites for a variety of applications. Another aspect of our research is to contribute to methods in the areas of combinatorial cryptography to provide effective techniques for maintaining secrecy and integrity of data.
The proposed research focuses on combinatorial arrays and combinatorial methods to produce advances on combinatorial testing and combinatorial cryptography. This research is based on combinatorial theory and design and analysis of algorithms for the construction of generalized covering arrays and generalized orthogonal arrays, which form the basis for specific application problems in these areas. There are common features about testing for failures in software and guaranteeing security of data, which will be explored by developing and applying methods of combinatorial group testing, combinatorial designs and combinatorial algorithms. We also propose to develop software that implements combinatorial constructions to make them more accessible to applications. In the long term, this approach is likely to benefit many areas such as software testing, network security, network vulnerability testing, interaction testing, data integrity and computing security.