Minh Ngoc Ngo

Learn More
Automated test data generation plays an important part in reducing the cost and increasing the reliability of software testing. However, a challenging problem in path-oriented test data generation is the existence of infeasible program paths, where considerable effort may be wasted in trying to generate input data to traverse the paths. In this paper, we(More)
A great majority of program paths are found to be infeasible, which in turn make static analysis overly conservative. As static analysis plays a central part in many software engineering activities, knowledge about infeasible program paths can be used to greatly improve the performance of these activities especially structural testing and coverage analysis.(More)
Database interactions are among the most essential functional features in web applications. Thus, for the maintenance and understanding of web applications, it is vital that the web engineer could identify all code segments which implement the database interactions features. Unfortunately, the highly dynamic nature of web applications makes it challenging(More)
Traditionally, debugging refers to the process of locating the program portions which are responsible for a program failure. However, a program also fails when the execution environment does not meet the requirement/assumption of the program. Unfortunately, few existing debugging techniques addresses the problem of changing operating system environment. In(More)
Automated functional user interface (UI) testing of mobile apps is a challenging task due to the highly interactive nature of the app UIs, and thus it commonly fails to provide high code coverage. In this paper, we present DroidDEV, an automated UI exerciser which aims to achieve high code coverage for real-world Android apps. DroidDEV dynamically builds a(More)
Multi-agent systems are increasingly complex and the problem of their verification is acquiring increasing importance. Most of the existing approaches are based on model checking techniques which require system specification in a formal language. This is an error-prone task and can only be performed by experts who have considerable experiences in logic(More)
In an information system, inputs are submitted to the system from its external environment. However, many input errors cannot be detected automatically and therefore result in errors in the effects raised by the system. Hence, the provision of input error correction features to correct these erroneous effects is critical. The recovery and maintenance of(More)
  • 1