Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Monika Dhok

dblp:165/9612 · DBLP profile ↗
← Back
3ranked-venue papers
3as 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 · 3 · 3 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
3 papers
Software testing · 50% Concurrent programming · 29% Debugging and program repair · 17%

Topics — the 7 heaviest of 8, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Software testing › test input generation
concolic testing
0.212016
Type-aware concolic testing of JavaScript programs · ICSE 2016
Software testing › test generation
directed test generation
0.212016
Directed test generation to detect loop inefficiencies · SIGSOFT FSE 2016
Debugging and program repair › performance debugging
performance bug detection
0.212016
Directed test generation to detect loop inefficiencies · SIGSOFT FSE 2016
Software testing
test generation
0.212016
Directed test generation to detect loop inefficiencies · SIGSOFT FSE 2016
Concurrent programming › deterministic execution
deterministic multithreading
0.212015
Pegasus: automatic barrier inference for stable multithreaded systems · ISSTA 2015
Concurrent programming
synchronization
0.212015
Pegasus: automatic barrier inference for stable multithreaded systems · ISSTA 2015
Programming languages and type systems › type systems
dynamic typing
0.112016
Type-aware concolic testing of JavaScript programs · ICSE 2016

Methods — techniques the papers use, named apart from their topics

type analysis · 0.2static analysis · 0.2dynamic analysis · 0.2concolic testing · 0.2weighted constraint graph · 0.2schedule synthesis · 0.2
YearPublicationVenuePosition
2016 Type-aware concolic testing of JavaScript programs
abstract
Conventional concolic testing has been used to provide high coverage of paths in statically typed languages. While it has also been applied in the context of JavaScript (JS) programs, we observe that applying concolic testing to dynamically-typed JS programs involves tackling unique problems to ensure scalability. In particular, a naive type-agnostic extension of concolic testing to JS programs causes generation of large number of inputs. Consequently, many executions operate on undefined values and repeatedly explore same paths resulting in redundant tests, thus diminishing the scalability of testing drastically.
Monika Dhok, Murali Krishna Ramanathan, Nishant Sinha 0001
ICSE1
2016 Directed test generation to detect loop inefficiencies
abstract
Redundant traversal of loops in the context of other loops has been recently identified as a source of performance bugs in many Java libraries. This has resulted in the design of static and dynamic analysis techniques to detect these performance bugs automatically. However, while the effectiveness of dynamic analyses is dependent on the analyzed input tests, static analyses are less effective in automatically validating the presence of these problems, validating the fixes and avoiding regressions in future versions. This necessitates the design of an approach to automatically generate tests for exposing redundant traversal of loops.
Monika Dhok, Murali Krishna Ramanathan
SIGSOFT FSE1
2015 Pegasus: automatic barrier inference for stable multithreaded systems
abstract
Deterministic multithreaded systems (DMTs) are designed to ensure reproducibility of program behavior for a given input. In these systems, even minor changes to the code (or input) can perturb the schedule. This increases the number of feasible schedules making reasoning about these programs harder. Stable multithreaded systems (StableMTs) address the problem such that a schedule is unaffected by minor changes. Unfortunately, determinism in these systems can potentially serialize the execution imposing a significant penalty on the performance. Programmer hints in the form of soft barriers attempt to eliminate the performance bottlenecks. However, the process is arduous, error-prone and requires manual intervention to reconsider the location of the barrier for every modification to the source code. In this paper, we propose an effective approach to automate the task of adding soft barriers in the source code. Our approach analyzes the deterministic program executions to extract the program and semantic order of executions and builds a weighted constraint graph. Using this graph, a schedule is synthesized which is used to identify bottlenecks and insert soft barriers in the program source. We validate our implementation, named PEGASUS, by applying it on multiple benchmarks. Our experimental results demonstrate that we are able to reduce the overall execution time of programs by upto 34% when compared to the execution time where barriers are inserted manually. Moreover, we observe a performance improvement ranging from 38% to 88% as compared to programs without barriers. Our experimental results show that adapting PEGASUS to infer barriers for multiple versions of a source program is seamless. The memory and time overheads associated with the usage of PEGASUS is negligible making it a vital cog in building scalable StableMTs.
Monika Dhok, Rashmi Mudduluru, Murali Krishna Ramanathan
ISSTA1