My general research interests are in the areas of software testing, program analysis, software engineering, web technologies , with a focus on software testing of web-based applications.
As web applications evolve and their usage increases, their complexity also increases thus creating a great demand for techniques and tools to ensure well-tested reliable applications. Low reliability can result in serious, detrimental effects for business, government, and consumers, as they have become increasingly dependent on the Internet for routine daily operations.
Currently, I am interested in studying the challenges that arise during regression testing and maintenance of web applications. I am also interested in investigating strategies for efficient and effective test case generation for web applications.
Drop me an email or stop by my office if you are interested in any of these topics!
To address the problem of scalability during testing, we applied a mathematical technique called concept analysis to cluster user sessions (test cases) based on the attributes of the test cases, such as base requests, parameter names, sequences of requests, etc. We then applied a heuristic to select a subset of test cases from the clustered test cases. The heuristic selects a subset of test cases that satisfy a certain requirement. An example requirement can be the selected subset of test cases should cover all the base requests covered by the original suite. To enable incremental update of the test suite as the operational profile of the web application changes we proposed an algorithm based on incremental concept analysis. The subject programs we use in our experiments are primarily written in Java/JSP with a HTML front-end and a MySQL/PostGreSQL/files data store as the back-end; however our techniques can be extended to programs written in other web-based languages. Our experimental results indicate that concept analysis-based reduction reduces the test suite by 70 - 80% (for base requests requirement) while maintaining the program coverage and fault detection capabilities of the original suite of user sessions.