Program verification How do you envision the ways program verification and performance tuning will be accomplished in the future? Willit still be a work of art? Will it always be the result of ones experience? Or do you forecast more and more automatic ways (algorithms?) to accomplish these tasks?
According to my perspective, in future program verification and performance tuning will be accomplished with the help of algorithms. The automatic ways are much faster and efficient as compared to manual methods. Through algorithms, verification and performance tuning can be done more effectively and in well-organized manner (Dave, 2008). With the advancement in technology more and more complex program structures are being developed and if it is tested by the result of one’s experience then it will not be time efficient. As time competence factor plays an important role in technology development, therefore, personal experience cannot be considered as a preferred way for verification and performance tuning.
Several test cases are created when the testing and verification are carried out by automatic means. These test cases include all the possible paths through which a program can go through. If a program is passed through a test case and it halts in an indeterminate state or infinite condition or it gives undesired output then it means that there is some coding problem in the program and with the help of that particular test case it can be determined that in which line of code error exists. It is also necessary to pass the program through every case in order to make a program error proof. This takes very less time as compared to manual testing and correction of the program which can consume several hours / days to test a complex program.
Use of a particular algorithm also depends on the complexity of a program. Some of these are good with more complex structures while others should be preferred for simple program verification and testing. Incorrect selection of an algorithm can be devastative for a system.
Manual program verification, testing and performance tuning is very complicated, time consuming and complex therefore it should not have a preference over automatic means in future. Also, it can be deduced from outcomes of artificial intelligence that magnificent performance improvements can be made by using automated tuning process (Hutter and Babic, 2011).
Dave, P. and Dave, H. .(2008) .Design and Analysis of Algorithms, .Gujarat: Dorling Kindersley (India) Pvt. Ltd.
Hutter, F. and Babic, D. .(2011) Boosting Verification by Automatic Tuning of Decision Procedures, .j, .v(ii), p.1. .