Learn More
Graphical user interfaces (GUIs) are important parts of today's software and their correct execution is required to ensure the correctness of the overall software. A popular technique to detect defects in GUIs is to test them by executing test cases and checking the execution results. Test cases may either be created manually or generated automatically from(More)
Quality assurance (QA) tasks, such as testing, profiling,and performance evaluation, have historically been donein-house on developer-generated workloads and regressionsuites. Since this approach is inadequate for many systems,tools and processes are being developed to improve softwarequality by increasing user participation in the QA process.A limitation(More)
Test designers widely believe that the overall effectiveness and cost of software testing depends largely on the type and number of test cases executed on the software. In this paper we show that the test oracle used during testing also contributes significantly to test effectiveness and cost. A test oracle is a mechanism that determines whether a software(More)
With the widespread deployment of broadband connections worldwide, software development and maintenance are increasingly being done by multiple engineers, often working around-the-clock to maximize code churn rates. To ensure rapid quality assurance of such software, techniques such as " nightly/daily building and smoke testing " have become widespread(More)
" Nightly/daily building and smoke testing " have become widespread since they often reveal bugs early in the software development process. During these builds, software is compiled, linked, and (re)tested with the goal of validating its basic functionality. Although successful for conventional software, smoke tests are difficult to develop and(More)
— In disaster and combat situations, mobile cameras and other sensors transmit real-time data, used by many operators or analysis tools. Unfortunately, in the face of limited, unreliable resources, and varying demands, not all users may be able to get the fidelity they require. This paper describes MediaNet, a distributed stream processing system designed(More)
Refactoring is a disciplined process of restructuring software code in order to improve it, e.g., to make it more reusable, reliable and maintainable. The source of information that guides the refactoring process may be the soft-ware's user profiles. An increasingly important class of software is event-based software. Event-based software take an event as(More)
We describe a technique that addresses the needs of " Nightly/daily building and smoke testing " of software that has a graphical user interface (GUI). The key to our success is automation of structural GUI analysis, test case generation , test oracle creation, code instrumentation, test execution , coverage evaluation, regeneration of test cases, and their(More)
Quality assurance (QA) tasks, such as testing, profiling, and performance evaluation, have historically been done in-house on developer-generated workloads and regression suites. Since this approach is inadequate for many systems, tools and processes are being developed to improve software quality by increasing user participation in the QA process. A(More)
Software Fault Tolerance is an ability of computer software to continue its normal operation despite the presence of system or hardware faults. Most companies are moving towards a microservices-based architecture where complex applications are developed with a suite of small services, each of which communicates using some common protocols like Hypertext(More)
  • 1