Demo Data from EDBT 2026 / reviewers in the wild / expert
Vilas Jagannath
dblp:82/4670
· DBLP profile ↗
10ranked-venue papers
4as first author
0since 2021 · last 2013
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 10 · 4 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
6 papers |
Software testing · 46% Debugging and program repair · 20% Concurrent programming · 13% |
Topics — the 15 heaviest of 15, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Software testing
test repair |
0.2 | 2 | 2011 | ReAssert: a tool for repairing broken unit tests · ICSE 2011 ReAssert: Suggesting Repairs for Broken Unit Tests · ASE 2009 |
Software testing
unit testing |
0.2 | 3 | 2011 | Improved multithreaded unit testing · SIGSOFT FSE 2011 ReAssert: a tool for repairing broken unit tests · ICSE 2011 ReAssert: Suggesting Repairs for Broken Unit Tests · ASE 2009 |
Debugging and program repair
automated program repair |
0.1 | 1 | 2011 | ReAssert: a tool for repairing broken unit tests · ICSE 2011 |
Concurrent programming
concurrency bugs |
0.1 | 1 | 2011 | Improved multithreaded unit testing · SIGSOFT FSE 2011 |
Concurrent programming
concurrency bug detection |
0.1 | 1 | 2011 | Change-aware preemption prioritization · ISSTA 2011 |
Program analysis
dynamic analysis |
0.1 | 1 | 2011 | Fault-localization using dynamic slicing and change impact analysis · ASE 2011 |
Program analysis › dynamic analysis
dynamic slicing |
0.1 | 1 | 2011 | Fault-localization using dynamic slicing and change impact analysis · ASE 2011 |
Debugging and program repair
fault localization |
0.1 | 1 | 2011 | Fault-localization using dynamic slicing and change impact analysis · ASE 2011 |
Software testing
regression testing |
0.1 | 1 | 2011 | Change-aware preemption prioritization · ISSTA 2011 |
Debugging and program repair › fault localization
spectrum-based fault localization |
0.1 | 1 | 2011 | Fault-localization using dynamic slicing and change impact analysis · ASE 2011 |
Software testing › regression testing
test case prioritization |
0.1 | 1 | 2011 | Change-aware preemption prioritization · ISSTA 2011 |
Programming languages and type systems
language design |
0.1 | 1 | 2010 | Test generation through programming in UDITA · ICSE (1) 2010 |
Software testing
test generation |
0.1 | 1 | 2010 | Test generation through programming in UDITA · ICSE (1) 2010 |
Software testing › test repair
automated test repair |
0.1 | 1 | 2009 | ReAssert: Suggesting Repairs for Broken Unit Tests · ASE 2009 |
Software maintenance and evolution
change impact analysis |
0.0 | 1 | 2011 | Fault-localization using dynamic slicing and change impact analysis · ASE 2011 |
Methods — techniques the papers use, named apart from their topics
time delays · 0.1schedule enforcement · 0.1dynamic slicing · 0.1change-aware prioritization · 0.1change impact analysis · 0.1automated repair · 0.1non-deterministic execution space exploration · 0.1program transformation · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2013 | Efficient mutation testing of multithreaded codeabstractSUMMARY Mutation testing is a well‐established method for measuring and improving the quality of test suites. A major cost of mutation testing is the time required to execute the test suite on all the mutants. This cost is even greater when the system under test is multithreaded: not only are test cases from the test suite executed on many mutants but also each test case is executed—or more precisely, explored—for multiple possible thread schedules. This paper introduces a general framework for efficient exploration that can reduce the time for mutation testing of multithreaded code. The paper presents five techniques (four optimizations and one heuristic) that are implemented in a tool called MuTMuT within the general framework. Evaluation of MuTMuT on mutation testing of 12 multithreaded programs shows that it can substantially reduce the time required for mutation testing of multithreaded code.Copyright © 2012 John Wiley & Sons, Ltd. Milos Gligoric 0001, Vilas Jagannath, Qingzhou Luo, Darko Marinov |
Softw. Test. Verification Reliab. | 2 |
| 2012 | Evaluating Machine-Independent Metrics for State-Space ExplorationabstractMany recent advancements in testing concurrent programs can be described as novel optimization and heuristic techniques for exploring the tests of such programs. To empirically evaluate these techniques, researchers apply them on subject programs and capture a set of metrics that characterize the techniques' effectiveness. From a user's perspective, the most important metric is often the amount of real time required to find a error (if one exists), but using real time for comparison can be misleading because it is necessarily dependent on the machine configuration used for the experiments. On the other hand, using machine-independent metrics can be meaningless if they do not correlate highly with real time. As a result, it can be difficult to select metrics for valid comparisons among exploration techniques. This paper presents a study of the commonly used machine-independent metrics for two different exploration frameworks for Java (JPF and ReEx) by revisiting and extending a previous study (Parallel Randomized State-Space Search) and evaluating the correlation of the metrics with real time both on a single machine and on a high-performance cluster of machines. Our study provides new evidence for selecting metrics in future evaluations of exploration techniques by showing that several machine-independent metrics are a good substitute for real time, and that reporting real time results even from clusters can provide useful information. Vilas Jagannath, Matt Kirn, Darko Marinov |
ICST | 1 |
| 2011 | ReAssert: a tool for repairing broken unit testsabstractSuccessful software systems continuously change their requirements and thus code. When this happens, some existing tests get broken because they no longer reflect the intended behavior, and thus they need to be updated. Repairing broken tests can be time-consuming and difficult. Brett Daniel, Danny Dig, Tihomir Gvero, Vilas Jagannath, Johnston Jiaa, Damion Mitchell, Jurand Nogiec, Shin Hwei Tan, Darko Marinov |
ICSE | 4 |
| 2011 | Change-aware preemption prioritizationabstractSuccessful software evolves as developers add more features, respond to requirements changes, and fix faults. Regression testing is widely used for ensuring the validity of evolving software. As regression test suites grow over time, it becomes expensive to execute them. The problem is exacerbated when test suites contain multithreaded tests. These tests are generally long running as they explore many different thread schedules searching for concurrency faults such as dataraces, atomicity violations, and deadlocks. While many techniques have been proposed for regression test prioritization, selection, and minimization for sequential tests, there is not much work for multithreaded code. Vilas Jagannath, Qingzhou Luo, Darko Marinov |
ISSTA | 1 |
| 2011 | Fault-localization using dynamic slicing and change impact analysisabstractSpectrum-based fault-localization tools, such as Tarantula, have been developed to help guide developers towards faulty statements in a system under test. These tools report statements ranked in order of suspiciousness. Unfortunately, the reported statements can often be unrelated to the error. This paper evaluates the impact of several approaches to ignoring such unrelated statements in order to improve the effectiveness of fault-localization tools. Elton Alves, Milos Gligoric 0001, Vilas Jagannath, Marcelo d'Amorim |
ASE | 3 |
| 2011 | Improved multithreaded unit testingabstractMultithreaded code is notoriously hard to develop and test. A multithreaded test exercises the code under test with two or more threads. Each test execution follows some schedule/interleaving of the multiple threads, and different schedules can give different results. Developers often want to enforce a particular schedule for test execution, and to do so, they use time delays (Thread.sleep in Java). Unfortunately, this approach can produce false positives or negatives, and can result in unnecessarily long testing time. Vilas Jagannath, Milos Gligoric 0001, Dongyun Jin, Qingzhou Luo, Grigore Rosu, Darko Marinov |
SIGSOFT FSE | 1 |
| 2010 | Test generation through programming in UDITAabstractWe present an approach for describing tests using non-deterministic test generation programs. To write such programs, we introduce UDITA, a Java-based language with non-deterministic choice operators and an interface for generating linked structures. We also describe new algorithms that generate concrete tests by efficiently exploring the space of all executions of non-deterministic UDITA programs. Milos Gligoric 0001, Tihomir Gvero, Vilas Jagannath, Sarfraz Khurshid, Viktor Kuncak, Darko Marinov |
ICSE (1) | 3 |
| 2010 | MuTMuT: Efficient Exploration for Mutation Testing of Multithreaded CodeabstractMutation testing is a method for measuring the quality of test suites. Given a system under test and a test suite, mutations are systematically inserted into the system, and the test suite is executed to determine which mutants it detects. A major cost of mutation testing is the time required to execute the test suite on all the mutants. This cost is even greater when the system under test is multithreaded: not only are test cases from the test suite executed on many mutants, but also each test case is executed for multiple possible thread schedules. We introduce a general framework that can reduce the time for mutation testing of multithreaded code. We present four techniques within the general framework and implement two of them in a tool called MuTMuT. We evaluate MuTMuT on eight multithreaded programs. The results show that MuTMuT reduces the time for mutation testing, substantially over a straightforward mutant execution and up to 77% with the advanced technique over the basic technique. Milos Gligoric 0001, Vilas Jagannath, Darko Marinov |
ICST | 2 |
| 2009 | Reducing the Costs of Bounded-Exhaustive Testing
Vilas Jagannath, Yun Young Lee, Brett Daniel, Darko Marinov |
FASE | 1 |
| 2009 | ReAssert: Suggesting Repairs for Broken Unit TestsabstractDevelopers often change software in ways that cause tests to fail. When this occurs, developers must determine whether failures are caused by errors in the code under test or in the test code itself. In the latter case, developers must repair failing tests or remove them from the test suite. Repairing tests is time consuming but beneficial, since removing tests reduces a test suite's ability to detect regressions. Fortunately, simple program transformations can repair many failing tests automatically. We present ReAssert, a novel technique and tool that suggests repairs to failing tests' code which cause the tests to pass. Examples include replacing literal values in tests, changing assertion methods, or replacing one assertion with several. If the developer chooses to apply the repairs, ReAssert modifies the code automatically. Our experiments show that ReAssert can repair many common test failures and that its suggested repairs correspond to developers' expectations. Brett Daniel, Vilas Jagannath, Danny Dig, Darko Marinov |
ASE | 2 |