EDBT 2026 Demo / reviewers in the wild / expert
Shabnam Mirshokraie
dblp:34/6209
· DBLP profile ↗
10ranked-venue papers
8as first author
0since 2021 · last 2016
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 9 · 7 first-authorDatabases, data management, data science and information retrieval · 1 · 1 first-authorGraphics, computer vision, multimedia, augmented reality and games · 1 · 1 first-author
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
4 papers |
Software testing · 92% Program analysis · 8% |
Topics — the 8 heaviest of 8, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Software testing
mutation testing |
0.4 | 2 | 2015 | Guided Mutation Testing for JavaScript Web Applications · IEEE Trans. Software Eng. 2015 Effective test generation and adequacy assessment for JavaScript-based web applications · ISSTA 2014 |
Software testing
test generation |
0.4 | 2 | 2014 | Effective test generation and adequacy assessment for JavaScript-based web applications · ISSTA 2014 PYTHIA: Generating test cases with oracles for JavaScript applications · ASE 2013 |
Software testing › web application testing
javascript web application testing |
0.2 | 2 | 2014 | Effective test generation and adequacy assessment for JavaScript-based web applications · ISSTA 2014 PYTHIA: Generating test cases with oracles for JavaScript applications · ASE 2013 |
Software testing
test adequacy |
0.2 | 1 | 2014 | Effective test generation and adequacy assessment for JavaScript-based web applications · ISSTA 2014 |
Software testing › test oracle
test oracle generation |
0.2 | 1 | 2013 | PYTHIA: Generating test cases with oracles for JavaScript applications · ASE 2013 |
Software testing › test generation
unit test generation |
0.2 | 1 | 2013 | PYTHIA: Generating test cases with oracles for JavaScript applications · ASE 2013 |
Program analysis
source code analysis |
0.1 | 1 | 2012 | Automated analysis of CSS rules to support style maintenance · ICSE 2012 |
Software testing › mutation testing
equivalent mutant detection |
0.1 | 1 | 2015 | Guided Mutation Testing for JavaScript Web Applications · IEEE Trans. Software Eng. 2015 |
Methods — techniques the papers use, named apart from their topics
static analysis · 0.6dynamic analysis · 0.6functionrank · 0.2mutation testing · 0.2automated test generation · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2016 | Atrina: Inferring Unit Oracles from GUI Test CasesabstractTesting JavaScript web applications is challenging due to its complex runtime interaction with the Document Object Model (DOM). Writing unit-level assertions for JavaScript applications is even more tedious as the tester needs to precisely understand the interaction between the DOM and the JavaScript code, which is responsible for updating the DOM. In this work, we propose to leverage existing DOM-dependent assertions in a human-written UI-based test cases as well as useful execution information inferred from the UI-based test suite to automatically generate assertions used for unit-level testing of the JavaScript code of the application. Our approach is implemented in a tool called ATRINA. We evaluate our approach to assess its effectiveness. The results indicate that ATRINA maps DOM-based assertions to the corresponding JavaScript code with high accuracy (99% precision, 92% recall). In terms of fault finding capability, the assertions generated by ATRINA outperform human-written DOM-based assertions by 31% on average. It also surpasses the state-of-the-art mutation-based assertion generation technique by 26% on average in detecting faults. Shabnam Mirshokraie, Ali Mesbah 0001, Karthik Pattabiraman |
ICST | 1 |
| 2015 | JSEFT: Automated Javascript Unit Test GenerationabstractThe event-driven and highly dynamic nature of JavaScript, as well as its runtime interaction with the Document Object Model (DOM) make it challenging to test JavaScript-based applications. Current web test automation techniques target the generation of event sequences, but they ignore testing the JavaScript code at the unit level. Further they either ignore the oracle problem completely or simplify it through generic soft oracles such as HTML validation and runtime exceptions. We present a framework to automatically generate test cases for JavaScript applications at two complementary levels, namely events and individual JavaScript functions. Our approach employs a combination of function coverage maximization and function state abstraction algorithms to efficiently generate test cases. In addition, these test cases are strengthened by automatically generated mutation-based oracles. We empirically evaluate the implementation of our approach, called JSEFT, to assess its efficacy. The results, on 13 JavaScript-based applications, show that the generated test cases achieve a coverage of 68% and that JSEFT can detect injected JavaScript and DOM faults with a high accuracy (100% precision, 70% recall). We also find that JSEFT outperforms an existing JavaScript test automation framework both in terms of coverage and detected faults. Shabnam Mirshokraie, Ali Mesbah 0001, Karthik Pattabiraman |
ICST | 1 |
| 2015 | Guided Mutation Testing for JavaScript Web ApplicationsabstractMutation testing is an effective test adequacy assessment technique. However, there is a high computational cost in executing the test suite against a potentially large pool of generated mutants. Moreover, there is much effort involved in filtering out equivalent mutants. Prior work has mainly focused on detecting equivalent mutants after the mutation generation phase, which is computationally expensive and has limited efficiency. We propose an algorithm to select variables and branches for mutation as well as a metric, called FunctionRank, to rank functions according to their relative importance from the application's behaviour point of view. We present a technique that leverages static and dynamic analysis to guide the mutation generation process towards parts of the code that are more likely to influence the program's output. Further, we focus on the JavaScript language, and propose a set of mutation operators that are specific to Web applications. We implement our approach in a tool called MUTANDIS. The results of our empirical evaluation show that (1) more than 93 percent of generated mutants are non-equivalent, and (2) more than 75 percent of the surviving non-equivalent mutants are in the top 30 percent of the ranked functions. Shabnam Mirshokraie, Ali Mesbah 0001, Karthik Pattabiraman |
IEEE Trans. Software Eng. | 1 |
| 2014 | Effective test generation and adequacy assessment for JavaScript-based web applicationsabstractModern web applications rely heavily on JavaScript and client-side runtime manipulation of the DOM (Document Object Model) tree. However, JavaScript is loosely typed, dynamic, and challenging to analyze and test. We propose an automated technique to generate regression test cases at two complementary levels: (1) individual JavaScript functions, and (2) DOM event sequences. Moreover, to assess the quality of the test cases we propose a mutation testing technique that leverages static and dynamic program analysis to guide the mutation generation process towards parts of the code that are error-prone or likely to influence the program's output. Shabnam Mirshokraie |
ISSTA | 1 |
| 2013 | Efficient JavaScript Mutation TestingabstractMutation testing is an effective test adequacy assessment technique. However, it suffers from two main issues. First, there is a high computational cost in executing the test suite against a potentially large pool of generated mutants. Second, there is much effort involved in filtering out equivalent mutants, which are syntactically different but semantically identical to the original program. Prior work has mainly focused on detecting equivalent mutants after the mutation generation phase, which is computationally expensive and has limited efficiency. In this paper, we propose a technique that leverages static and dynamic program analysis to guide the mutation generation process a-priori towards parts of the code that are error-prone or likely to influence the program's output. Further, we focus on the JavaScript language, and propose a set of mutation operators that are specific to web applications. We implement our approach in a tool called MUTANDIS. We empirically evaluate MUTANDIS on a number of web applications to assess the efficacy of the approach. Shabnam Mirshokraie, Ali Mesbah 0001, Karthik Pattabiraman |
ICST | 1 |
| 2013 | PYTHIA: Generating test cases with oracles for JavaScript applicationsabstractWeb developers often write test cases manually using testing frameworks such as Selenium. Testing JavaScript-based applications is challenging as manually exploring various execution paths of the application is difficult. Also JavaScript's highly dynamic nature as well as its complex interaction with the DOM make it difficult for the tester to achieve high coverage. We present a framework to automatically generate unit test cases for individual JavaScript functions. These test cases are strengthened by automatically generated test oracles capable of detecting faults in JavaScript code. Our approach is implemented in a tool called Pythia. Our preliminary evaluation results point to the efficacy of the approach in achieving high coverage and detecting faults. Shabnam Mirshokraie, Ali Mesbah 0001, Karthik Pattabiraman |
ASE | 1 |
| 2013 | A systematic mapping study of web application testing
Vahid Garousi, Ali Mesbah 0001, Aysu Betin Can, Shabnam Mirshokraie |
Inf. Softw. Technol. | 4 |
| 2012 | Automated analysis of CSS rules to support style maintenanceabstractCSS is a widely used language for describing the presentation semantics of HTML elements on the web. The language has a number of characteristics, such as inheritance and cascading order, which makes maintaining CSS code a challenging task for web developers. As a result, it is common for unused rules to be accumulated over time. Despite these challenges, CSS analysis has not received much attention from the research community. We propose an automated technique to support styling code maintenance, which (1) analyzes the runtime relationship between the CSS rules and DOM elements of a given web application (2) detects unmatched and ineffective selectors, overridden declaration properties, and undefined class values. Our technique, implemented in an open source tool called Cilla, has a high precision and recall rate. The results of our case study, conducted on fifteen open source and industrial web-based systems, show an average of 60% unused CSS selectors in deployed applications, which points to the ubiquity of the problem. Ali Mesbah 0001, Shabnam Mirshokraie |
ICSE | 2 |
| 2012 | JSART: JavaScript Assertion-Based Regression Testing
Shabnam Mirshokraie, Ali Mesbah 0001 |
ICWE | 1 |
| 2010 | Live peer-to-peer streaming with scalable video coding and networking codingabstractWe present the design of a peer-to-peer (P2P) live streaming system that uses scalable video coding as well as network coding. The proposed design enables flexible customization of video streams to support heterogeneous receivers, highly utilizes upload bandwidth of peers, and quickly adapts to network and peer dynamics. Our design is simple and modular. Therefore, other P2P streaming systems could also benefit from various components of our design to improve their performance. We conduct an extensive quantitative analysis to demonstrate the expected performance gain from the proposed design. Our analysis uses actual scalable video traces and realistic P2P streaming environments with high churn rates, heterogeneous peers, and flash crowd scenarios. Our results show that the proposed system can achieve: (i) significant improvement in the visual quality perceived by peers (several dBs are observed), (ii) smoother and more sustained streaming rates, (iii) higher streaming capacity by serving more requests from peers, and (iv) more robustness against high churn rates and flash crowd arrivals of peers. This paper shows that the integration of network coding and scalable video coding in P2P live streaming systems yields better performance than current systems that use single-layer streams and proposed systems that use either network coding alone or scalable video coding alone. Shabnam Mirshokraie, Mohamed Hefeeda |
MMSys | 1 |