Development of software testing and analysis tools - Part B

Software testing and analysis is increasingly recognized, in research and in industrial practice, as a core challenge in Software Engineering. Software testing strategies can be classified into black-box testing and white-box testing. Empirical evidence shows that black box testing does not reveal a...

全面介紹

Saved in:
書目詳細資料
主要作者: Ong, Ghim Hean.
其他作者: Tan Hee Beng Kuan
格式: Final Year Project
語言:English
出版: 2009
主題:
在線閱讀:http://hdl.handle.net/10356/17957
標簽: 添加標簽
沒有標簽, 成為第一個標記此記錄!
機構: Nanyang Technological University
語言: English
實物特徵
總結:Software testing and analysis is increasingly recognized, in research and in industrial practice, as a core challenge in Software Engineering. Software testing strategies can be classified into black-box testing and white-box testing. Empirical evidence shows that black box testing does not reveal as many errors as a combination of various testing method does. When black box testing is used in combination with white box testing, it leads to a more thorough and comprehensive testing of an application. To perform a white box testing, the program code must be comprehended and analyzed. The aspect to be analyzed include information flow, data flow and control flow, coding practices, exception and error handling within the system. The testing process is very labor intensive and hence also expensive. By developing tools that automate one or more aspects of testing, the overall cost of testing can be reduced. Source code analysis tools help in determining the program’s vulnerabilities based on a fixed set of rules and pattern. In this project, analysis tools are to be developed using T.J. Watson Libraries for Analysis (WALA), from open-source (http://wala.sourceforge.net) which provides static analysis capabilities for Java byte code and related languages. A function is first developed to represent the program to be analyzed in the form of control flow graph. Based on the control flow graph that has been generated, a few analysis tools have been developed to facilitate the task of analysis. This includes a function which auto generates the basis set of path for a program. Other functions which have been realized include identification of nodes that another node control dependent or data dependent on. These tools will facilitate test case development. After this, white box testing can be carried out to test all the software intended and unintended behavior.