By : Dr. Sangharatna Godboley, Postdoctoral Research Fellow at National University of Singapore
Program analysis can be performed without executing the program static program analysis, during runtime dynamic program analysis, or in a combination of both. It can be defined as a process of automatically analyzing the runtime behavior of a computer program. Its Traditional use such as Program optimization (compilers) and Modern uses such as Verification, Testing, Debugging, Synthesis, Vulnerabilities, Performance estimation etc become important domains. Basically, program analysis is to ensure the correctness, it means that the program will do what it is supposed to do. Dynamic Symbolic Execution (DSE) is one of the exhaustive program analysis techniques. Since, the full exploration will cause the combinatorial explosion hence the pruning methodologies are used to improve the performance. So, the talk will basically cover DSE in general and DSE with pruning. On the other hand, Program testing is one of the techniques and an application of DSE (program analysis). So, the talk will also include an important code coverage criterion i.e. MC/DC evaluation using DSE. Finally, some results will be discussed.