Kumar Madhukar

dblp:134/8956 · DBLP profile ↗
← Back
14ranked-venue papers
3as first author
7since 2021 · last 2025
0000-0001-5686-9758ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 13 · 3 first-author · 7 since 2021Theory of computation · 4 · 1 first-authorSystems, architecture and hardware · 1 · 1 first-authorSecurity and privacy · 1 · 1 since 2021
YearPublicationVenuePosition
2025 PROTON 2.1: Synthesizing Ranking Functions via fine-tuned locally Hosted LLM (Competition Contribution)
abstract
Abstract PROTON 2.1 presents (1) a new termination checking technique that uses a fine-tuned local LLM to synthesize ranking functions, and (2) support for multiple SAT solvers for non-termination checking.
Diganta Mukhopadhyay, Ravindra Metta, Hrishikesh Karmarkar, Kumar Madhukar
TACAS (3)4
2024 Unifying Syntactic and Semantic Abstractions for Deep Neural Networks
Sanaa Siddiqui, Diganta Mukhopadhyay, Mohammad Afzal 0001, Hrishikesh Karmarkar, Kumar Madhukar
FMICS5
2024 Learning DNN Abstractions using Gradient Descent
abstract
Deep Neural Networks (DNNs) are being trained and trusted for performing fairly complex tasks, even in business- and safety-critical applications. This necessitates that they be formally analyzed before deployment. Scalability of such analyses is a major bottleneck in their widespread use. There has been a lot of work on abstraction, and counterexample-guided abstraction refinement (CEGAR) of DNNs to address the scalability issue. However, these abstraction-refinement techniques explore only a subset of possible abstractions, and may miss an optimal abstraction. In particular, the refinement updates the abstract DNN based only on local information derived from the spurious counterexample in each iteration. The lack of a global view may result in a series of bad refinement choices, limiting the search to a region of sub-optimal abstractions. We propose a novel technique that parameterizes the construction of the abstract network in terms of continuous real-valued parameters. This allows us to use gradient descent to search through the space of possible abstractions, and ensures that the search never gets restricted to sub-optimal abstractions. Moreover, our parameterization can express more general abstractions than the existing techniques, enabling us to discover better abstractions than previously possible.
Diganta Mukhopadhyay, Sanaa Siddiqui, Hrishikesh Karmarkar, Kumar Madhukar, Guy Katz
ASE4
2024 PROTON: PRObes for Termination Or Not (Competition Contribution)
abstract
Abstract PROTON is a tool to check whether a given C program has a non-terminating behaviour or not. It is built around the C Bounded Model Checker (CBMC). CBMC cannot prove non-termination directly, as all non-terminating runs are unbounded. PROTON annotates the loops in a given program with assertions that check for a recurrent program state. Violation of such an assertion shows the existence of a recurrent state and thereby proves non-termination. PROTON also transforms the violating trace returned by CBMC into a non-termination witness for the program.
Ravindra Metta, Hrishikesh Karmarkar, Kumar Madhukar, R. Venkatesh 0001, Supratik Chakraborty
TACAS (3)3
2023 Automated Property Directed Self Composition
Akshatha Shenoy 0001, Sumanth Prabhu S, Kumar Madhukar, Ron Shemer, Mandayam K. Srivas
ATVA3
2023 Efficient Adversarial Input Generation via Neural Net Patching
abstract
The generation of adversarial inputs has become a crucial issue in establishing the robustness and trustworthiness of deep neural nets, especially when they are used in safety-critical application domains such as autonomous vehicles and precision medicine. However, the problem poses multiple practical challenges, including scalability issues owing to large-sized networks, and the generation of adversarial inputs that lack important qualities such as naturalness and output-impartiality. This problem shares its end goal with the task of patching neural nets where small changes in some of the network’s weights need to be discovered so that upon applying these changes, the modified net produces the desirable output for a given set of inputs. We exploit this connection by proposing to obtain an adversarial input from a patch, with the underlying observation that the effect of changing the weights can also be brought about by changing the inputs instead. Thus, this paper presents a novel way to generate input perturbations that are adversarial for a given network by using an efficient network patching technique. We note that the proposed method is significantly more effective than the prior state-of-the-art techniques.
Tooba Khan, Kumar Madhukar, Subodh Sharma 0001
PRDC2
2021 Specification synthesis with constrained Horn clauses
abstract
The problem of synthesizing specifications of undefined procedures has a broad range of applications, but the usefulness of the generated specifications depends on their quality. In this paper, we propose a technique for finding maximal and non-vacuous specifications. Maximality allows for more choices for implementations of undefined procedures, and non-vacuity ensures that safety assertions are reachable. To handle programs with complex control flow, our technique discovers not only specifications but also inductive invariants. Our iterative algorithm lazily generalizes non-vacuous specifications in a counterexample-guided loop. The key component of our technique is an effective non-vacuous specification synthesis algorithm. We have implemented the approach in a tool called HornSpec, taking as input systems of constrained Horn clauses. We have experimentally demonstrated the tool's effectiveness, efficiency, and the quality of generated specifications on a range of benchmarks.
Sumanth Prabhu S, Grigory Fedyukovich, Kumar Madhukar, Deepak D'Souza
PLDI3
2019 Quantified Invariants via Syntax-Guided Synthesis
abstract
Programs with arrays are ubiquitous. Automated reasoning about arrays necessitates discovering properties about ranges of elements at certain program points. Such properties are formally specified by universally quantified formulas, which are difficult to find, and difficult to prove inductive. In this paper, we propose an algorithm based on an enumerative search that discovers quantified invariants in stages. First, by exploiting the program syntax, it identifies ranges of elements accessed in each loop. Second, it identifies potentially useful facts about individual elements and generalizes them to hypotheses about entire ranges. Finally, by applying recent advances of SMT solving, the algorithm filters out wrong hypotheses. The combination of properties is often enough to prove that the program meets a safety specification. The algorithm has been implemented in a solver for Constrained Horn Clauses, Freq-Horn, and extended to deal with multiple (possibly nested) loops. We show that FreqHorn advances state-of-the-art on a wide range of public array-handling programs.
Grigory Fedyukovich, Sumanth Prabhu S, Kumar Madhukar, Aarti Gupta
CAV (1)3
2018 Solving Constrained Horn Clauses Using Syntax and Data
abstract
A Constrained Horn Clause (CHC) is a logical implication involving unknown predicates. Systems of CHCs are widely used to verify programs with arbitrary loop structures: interpretations of unknown predicates, which make every CHC in the system true, represent the program's inductive invariants. In order to find such solutions, we propose an algorithm based on Syntax-Guided Synthesis. For each unknown predicate, it generates a formal grammar from all relevant parts of the CHC system (i.e., using syntax). Grammars are further enriched by predicates and constants guessed from models of various unrollings of the CHC system (i.e., using data). We propose an iterative approach to guess and check candidates for multiple unknown predicates. At each iteration, only a candidate for one unknown predicate is sampled from its grammar, but then it gets propagated to candidates of the remaining unknowns through implications in the CHC system. Finally, an SMT solver is used to decide if the system of candidates contributes towards a solution or not. We present an evaluation of the algorithm on a range of benchmarks originating from program verification tasks and show that it is competitive with state-of-the-art in CHC solving.
Grigory Fedyukovich, Sumanth Prabhu S, Kumar Madhukar, Aarti Gupta
FMCAD3
2018 Efficiently Learning Safety Proofs from Appearance as well as Behaviours
Sumanth Prabhu S, Kumar Madhukar, R. Venkatesh 0001
SAS2
2017 Compositional Safety Refutation Techniques
Kumar Madhukar, Peter Schrammel, Mandayam K. Srivas
ATVA1
2017 Sequentialization Using Timestamps
Anand Yeolekar, Kumar Madhukar, Dipali Bhutada, R. Venkatesh 0001
TAMC2
2015 Verifying synchronous reactive systems using lazy abstraction
Kumar Madhukar, Mandayam K. Srivas, Björn Wachter, Daniel Kroening, Ravindra Metta
DATE1
2015 Accelerating Invariant Generation
abstract
Acceleration is a technique for summarising loops by computing a closed-form representation of the loop behaviour. The closed form can be turned into an accelerator, which is a code snippet that skips over intermediate states of the loop to the end of the loop in a single step. Program analysers rely on invariant generation techniques to reason about loops. The state-of-the-art invariant generation techniques, in practice, often struggle to find concise loop invariants, and, instead, degrade into unrolling loops, which is ineffective for non-trivial programs. In this paper, we evaluate experimentally whether loop accelerators enable existing program analysis algorithm to discover loop invariants more reliably and more efficiently. This paper is the first comprehensive study on the synergies between acceleration and invariant generation. We report our experience with a collection of safe and unsafe programs drawn from the Software Verification Competition and the literature.
Kumar Madhukar, Björn Wachter, Daniel Kroening, Matt Lewis, Mandayam K. Srivas
FMCAD1