Journal "Software Engineering"
a journal on theoretical and applied science and technology
ISSN 2220-3397
Issue N9 2018 year
The article deals with a practical example of developing a software test based on the ideas of cryptographic algorithms for searching of problematic areas in the software and the hardware of high-performance many-core systems that contain hundreds of asynchronously interacting processing cores. Suitable cryptographic algorithms are public-key ciphers where computational complexity of hacking and decryption differ by many orders of magnitude. An example on the basis of the RSA algorithm is considered. The RSA algorithm is based on the computational complexity of integer factorization problem. A method for developing software test is proposed taking into account the specific features of processing cores, memory and the communication environment of many-core systems. Such a test can be scaled and parallelized achieving predictable and easily variable execution time. An example test was developed using the described method and it is able to respond to single errors in arithmetic operations, and the result of its calculations can be hard to forecast without preliminary significant calculations, but could be checked on any simple Personal Computer easily. The method and sensitivity of the developed test to single errors have been tested on the emulator of many-core system. The possibility to introduce single errors in the multiplication operation for testing was implemented in this system emulator. In most cases the result was wrong with indicating an incorrect operation that demonstrates the effectiveness of the developed method.