Sumit Lahiri’s research while affiliated with Indian Institute of Technology Kanpur and other places

What is this page?


This page lists works of an author who doesn't have a ResearchGate profile or hasn't added the works to their profile yet. It is automatically generated from public (personal) data to further our legitimate goal of comprehensive and accurate scientific recordkeeping. If you are this author and want this page removed, please let us know.

Publications (6)


Program Synthesis Meets Visual What-Comes-Next Puzzles
  • Conference Paper

October 2024

·

2 Reads

Sumit Lahiri

·

Pankaj Kumar Kalita

·

Akshay Kumar Chittora

·

[...]

·

Subhajit Roy



Symbolic execution for randomized programs

October 2022

·

41 Reads

·

8 Citations

Proceedings of the ACM on Programming Languages

We propose a symbolic execution method for programs that can draw random samples. In contrast to existing work, our method can verify randomized programs with unknown inputs and can prove probabilistic properties that universally quantify over all possible inputs. Our technique augments standard symbolic execution with a new class of probabilistic symbolic variables , which represent the results of random draws, and computes symbolic expressions representing the probability of taking individual paths. We implement our method on top of the KLEE symbolic execution engine alongside multiple optimizations and use it to prove properties about probabilities and expected values for a range of challenging case studies written in C++, including Freivalds’ algorithm, randomized quicksort, and a randomized property-testing algorithm for monotonicity. We evaluate our method against Psi, an exact probabilistic symbolic inference engine, and Storm, a probabilistic model checker, and show that our method significantly outperforms both tools.


Fig. 9. The CoinFlips program along with a heatmap showing the frequency counts for each of the 16 abstract paths defined by Γ.
Performance metrics for each of the case studies presented in §4 under a 2-hour timeout. "Freivalds' (Multiple)" uses the FirstOff specification over chars.
Performance metrics for four different domains from which the elements of í µí°´, í µí°µ, and í µí° ¶ are drawn from in the implementation for Freivalds' Algorithm. We only consider 2 × 2 matrices for each data type and use SomeOff to specify that í µí°´×µí°´× í µí°µ ≠ í µí° ¶. In each variant, Plinko explored 2 paths.
Symbolic Execution for Randomized Programs
  • Preprint
  • File available

September 2022

·

46 Reads

We propose a symbolic execution method for programs that can draw random samples. In contrast to existing work, our method can verify randomized programs with unknown inputs and can prove probabilistic properties that universally quantify over all possible inputs. Our technique augments standard symbolic execution with a new class of \emph{probabilistic symbolic variables}, which represent the results of random draws, and computes symbolic expressions representing the probability of taking individual paths. We implement our method on top of the \textsc{KLEE} symbolic execution engine alongside multiple optimizations and use it to prove properties about probabilities and expected values for a range of challenging case studies written in C++, including Freivalds' algorithm, randomized quicksort, and a randomized property-testing algorithm for monotonicity. We evaluate our method against \textsc{Psi}, an exact probabilistic symbolic inference engine, and \textsc{Storm}, a probabilistic model checker, and show that our method significantly outperforms both tools.

Download

Citations (3)


... The research presented in this paper aims to bridge this gap by proposing a unified approach that leverages the strengths of GPT models and software engineering metrics. This is a continuation of the trend towards more intelligent and context-aware tools in software development, as seen in the works exploring machine learning models for code completion, defect prediction, and automated software testing [15]. ...

Reference:

Kashf Journal of Multidisciplinary Research EXPLORING THE IMPACT OF SOURCE CODE SEMANTIC ANALYSIS ON BUG LOCALIZATION ACCURACY Article Info
An Integrated Program Analysis Framework for Graduate Courses in Programming Languages and Software Engineering
  • Citing Conference Paper
  • September 2023

... [Barthe et al. 2020;van de Meent et al. 2018]). Exact alternatives typically reflect a weighted model counting approach whose performance relies on the effective aggregation of such paths [Filieri et al. 2014;Holtzen et al. 2020;Susag et al. 2022]. Program calculi for verification of probabilistic programs instead rely on marginalizing the paths out and reasoning using fuzzy state predicates [Kaminski 2019;Kozen 1985;McIver and Morgan 2005]. ...

Symbolic execution for randomized programs
  • Citing Article
  • October 2022

Proceedings of the ACM on Programming Languages