Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Ishan Banerjee is active.

Publication


Featured researches published by Ishan Banerjee.


automated software engineering | 2003

What test oracle should I use for effective GUI testing

Atif M. Memon; Ishan Banerjee; Adithya Nagarajan

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 software executed correctly for a test case. We define a test oracle to contain two essential parts: oracle information that represents expected output; and an oracle procedure that compares the oracle information with the actual output. By varying the level of detail of oracle information and changing the oracle procedure, a test designer can create different types of test oracles. We design 11 types of test oracles and empirically compare them on four software systems. We seed faults in software to create 100 faulty versions, execute 600 test cases on each version, for all 11 types of oracles. In all, we report results of 660,000 test runs on software. We show (1) the time and space requirements of the oracles, (2) that faults are detected early in the testing process when using detailed oracle information and complex oracle procedures, although at a higher cost per test case, and (3) that employing expensive oracles results in detecting a large number of faults using relatively smaller number of test cases.


automated software engineering | 2014

GUITAR: an innovative tool for automated testing of GUI-driven software

Bao N. Nguyen; Bryan Robbins; Ishan Banerjee; Atif M. Memon

Most of today’s software applications feature a graphical user interface (GUI) front-end. System testing of these applications requires that test cases, modeled as sequences of GUI events, be generated and executed on the software. We term GUI testing as the process of testing a software application through its GUI. Researchers and practitioners agree that one must employ a variety of techniques (e.g., model-based, capture/replay, manually scripted) for effective GUI testing. Yet, the tools available today for GUI testing are limited in the techniques they support. In this paper, we describe an innovative tool called GUITAR that supports a wide variety of GUI testing techniques. The innovation lies in the architecture of GUITAR, which uses plug-ins to support flexibility and extensibility. Software developers and quality assurance engineers may use this architecture to create new toolchains, new workflows based on the toolchains, and plug in a variety of measurement tools to conduct GUI testing. We demonstrate these features of GUITAR via several carefully crafted case studies.


international symposium on software reliability engineering | 2012

Lightweight Static Analysis for GUI Testing

Stephan Arlt; Andreas Podelski; Cristiano Bertolini; Martin Schäf; Ishan Banerjee; Atif M. Memon

GUI testing is an active research area. The open challenge is the judicious generation of event sequences (an event sequence encodes a user interaction). A major advance in this direction is the use of a black-box model to systematically generate event sequences that are executable on the GUI. The black-box model can be, e.g., an Event Flow Graph (EFG) or an Event Sequence Graph (ESG). In this paper we propose a new approach to select relevant event sequences among the event sequences generated by a black-box model. We express the relevance of an event sequence by a precisely defined dependency between a fixed number of events in the event sequence. Departing from a pure black-box approach we apply a static analysis to the byte code of the application. This allows us to infer a dependency graph, which we call Event Dependency Graph (EDG). We use the EDG together with a black-box model to construct a set of relevant event sequences among the executable ones. We have implemented our approach in a new tool. We evaluate the approach on four open source GUI applications. With the specific choice of a lightweight static analysis, the approach scales to large applications and, at the same time, leads to an informed selection of event sequences. Using our approach we are able to find previously undetected bugs.


Advances in Computers | 2017

Chapter Two – Advances in Model-Based Testing of GUI-Based Software

Ishan Banerjee

The Graphical User Interface (GUI) is an integral component of contemporary computer software. A stable and reliable GUI is necessary for correct functioning of software applications. Comprehensive verification of the GUI is a routine part of most software development life cycles. The input space of a GUI is typically large, making exhaustive verification difficult. GUI defects are often revealed by exercising parts of the GUI that interact with each other. In recent years, model-based methods, which target specific GUI interactions, have been developed. These methods create a formal model of the GUIs input space from specification of the GUI, visible GUI behaviors and static analysis of the GUIs program code, and dynamic analysis of interactions between the GUI and its program code. This chapter discusses recent advances in testing GUI-based software. It describes techniques that generate testcases for GUI-based applications. Some popular methods are described, specifically ones that create a model of the GUI and generate testcases based on the GUI model.


Archive | 2016

Event-code interaction directed test cases

Ishan Banerjee

Title of Dissertation: EVENT-CODE INTERACTION DIRECTED TEST CASES Ishan Banerjee, Doctor of Philosophy, 2016 Dissertation directed by: Professor Atif M. Memon, Department of Computer Science The Graphical User Interface (GUI) is an integral component of contemporary computer software. A stable and reliable GUI is necessary for correct functioning of software applications. Comprehensive verification of the GUI is a routine part of most software development life-cycles. The input space of a GUI is typically large, making exhaustive verification difficult. GUI defects are often revealed by exercising parts of the GUI that interact with each other. It is challenging for a verification method to drive the GUI into states that might contain defects. In recent years, model-based methods, that target specific GUI interactions, have been developed. These methods create a formal model of the GUI’s input space from specification of the GUI, visible GUI behaviors and static analysis of the GUI’s program-code. GUIs are typically dynamic in nature, whose user-visible state is guided by underlying program-code and dynamic program-state. This research extends existing model-based GUI testing techniques by modelling interactions between the visible GUI of a GUI-based software and its underlying program-code. The new model is able to, efficiently and effectively, test the GUI in ways that were not possible using existing methods. The thesis is this: Long, useful GUI testcases can be created by examining the interactions between the GUI of a GUI-based application and its program-code. To explore this thesis, a model-based GUI testing approach is formulated and evaluated. In this approach, program-code level interactions between GUI event handlers will be examined, modelled and deployed for constructing long GUI testcases. These testcases are able to drive the GUI into states that were not possible using existing models. Implementation and evaluation has been conducted using GUITAR, a fully-automated, open-source GUI testing framework. EVENT-CODE INTERACTION DIRECTED TEST CASES


working conference on reverse engineering | 2003

GUI ripping: reverse engineering of graphical user interfaces for testing

Atif M. Memon; Ishan Banerjee; Adithya Nagarajan


international conference on software maintenance | 2003

DART: a framework for regression testing "nightly/daily builds" of GUI applications

Atif M. Memon; Ishan Banerjee; Nada Hashmi; Adithya Nagarajan


Information & Software Technology | 2013

Graphical user interface (GUI) testing: Systematic mapping and repository

Ishan Banerjee; Bao N. Nguyen; Vahid Garousi; Atif M. Memon


Archive | 2010

METHOD FOR IMPROVING SAVE AND RESTORE PERFORMANCE IN VIRTUAL MACHINE SYSTEMS

Yury Baskakov; Alexander Thomas Garthwaite; Jesse Pool; Carl A. Waldspurger; Rajesh Venkatasubramanian; Ishan Banerjee


virtual execution environments | 2015

Proactively Breaking Large Pages to Improve Memory Overcommitment Performance in VMware ESXi

Fei Guo; Seongbeom Kim; Yury Baskakov; Ishan Banerjee

Collaboration


Dive into the Ishan Banerjee's collaboration.

Researchain Logo
Decentralizing Knowledge