Skip to main content

Showing 1–31 of 31 results for author: Mathur, U

Searching in archive cs. Search in all archives.
.
  1. arXiv:2505.05162  [pdf, other

    cs.PL cs.IT

    Testing Message-Passing Concurrency

    Authors: Zheng Shi, Lasse MØldrup, Umang Mathur, Andreas Pavlogiannis

    Abstract: A key computational question underpinning the automated testing and verification of concurrent programs is the \emph{consistency question} -- \emph{given a partial execution history, can it be completed in a consistent manner?} Due to its importance, consistency testing has been studied extensively for memory models, as well as for database isolation levels. A common theme in all these settings is… ▽ More

    Submitted 8 May, 2025; originally announced May 2025.

  2. arXiv:2504.10813  [pdf, other

    cs.PL

    Enhanced Data Race Prediction Through Modular Reasoning

    Authors: Zhendong Ang, Azadeh Farzan, Umang Mathur

    Abstract: There are two orthogonal methodologies for efficient prediction of data races from concurrent program runs: commutativity and prefix reasoning. There are several instances of each methodology in the literature, with the goal of predicting data races using a streaming algorithm where the required memory does not grow proportional to the length of the observed run, but these instances were mostly cr… ▽ More

    Submitted 14 April, 2025; originally announced April 2025.

  3. arXiv:2504.07483  [pdf, other

    cs.PL cs.SE

    Program Skeletons for Automated Program Translation

    Authors: Bo Wang, Tianyu Li, Ruishi Li, Umang Mathur, Prateek Saxena

    Abstract: Translating software between programming languages is a challenging task, for which automated techniques have been elusive and hard to scale up to larger programs. A key difficulty in cross-language translation is that one has to re-express the intended behavior of the source program into idiomatic constructs of a different target language. This task needs abstracting away from the source language… ▽ More

    Submitted 22 April, 2025; v1 submitted 10 April, 2025; originally announced April 2025.

    Comments: Accepted by PLDI 2025 (46th ACM SIGPLAN Conference on Programming Language Design and Implementation)

  4. arXiv:2504.06688  [pdf, other

    cs.PL

    Efficient Timestamping for Sampling-based Race Detection

    Authors: Minjian Zhang, Daniel Wee Soong Lim, Mosaad Al Thokair, Umang Mathur, Mahesh Viswanathan

    Abstract: Dynamic race detection based on the happens before (HB) partial order has now become the de facto approach to quickly identify data races in multi-threaded software. Most practical implementations for detecting these races use timestamps to infer causality between events and detect races based on these timestamps. Such an algorithm updates timestamps (stored in vector clocks) at every event in the… ▽ More

    Submitted 9 April, 2025; originally announced April 2025.

    Comments: To appear at PLDI 2025

  5. arXiv:2503.19447  [pdf, other

    cs.AR cs.PL

    Anvil: A General-Purpose Timing-Safe Hardware Description Language

    Authors: Jason Zhijingcheng Yu, Aditya Ranjan Jha, Umang Mathur, Trevor E. Carlson, Prateek Saxena

    Abstract: Hardware designs routinely use stateless signals which change with their underlying registers. Unintended behaviours arise when a register is mutated even when its dependent signals are expected to remain stable (unchanged). Such timing hazards are common because, with a few exceptions, existing HDLs lack the abstraction for stable values and delegate this responsibility to hardware designers, who… ▽ More

    Submitted 25 March, 2025; originally announced March 2025.

    Comments: 22 pages, 8 figures

    ACM Class: B.5.2; D.3.1

  6. arXiv:2410.17185  [pdf, ps, other

    cs.LO cs.FL cs.PL

    The Decision Problem for Regular First-Order Theories

    Authors: Umang Mathur, David Mestel, Mahesh Viswanathan

    Abstract: The \emph{Entscheidungsproblem}, or the classical decision problem, asks whether a given formula of first-order logic is satisfiable. In this work, we consider an extension of this problem to regular first-order \emph{theories}, i.e., (infinite) regular sets of formulae. Building on the elegant classification of syntactic classes as decidable or undecidable for the classical decision problem, we s… ▽ More

    Submitted 28 December, 2024; v1 submitted 22 October, 2024; originally announced October 2024.

    Comments: To appear in POPL 2025 (Proceedings of ACM Programming Languages vol 9 POPL)

  7. arXiv:2410.04581  [pdf, other

    cs.PL

    Efficient Decrease-And-Conquer Linearizability Monitoring

    Authors: Lee Zheng Han, Umang Mathur

    Abstract: Linearizability has become the de facto correctness specification for implementations of concurrent data structures. While formally verifying such implementations remains challenging, linearizability monitoring has emerged as a promising first step to rule out early problems in the development of custom implementations, and serves as a key component in approaches that stress test such implementati… ▽ More

    Submitted 29 March, 2025; v1 submitted 6 October, 2024; originally announced October 2024.

  8. arXiv:2405.10499  [pdf, ps, other

    cs.PL

    Predictive Monitoring with Strong Trace Prefixes

    Authors: Zhendong Ang, Umang Mathur

    Abstract: Runtime predictive analyses enhance coverage of traditional dynamic analyses based bug detection techniques by identifying a space of feasible reorderings of the observed execution and determining if any of these witnesses the violation of some desired safety property. The most popular approach for modelling the space of feasible reorderings is through Mazurkiewicz's trace equivalence. The simplic… ▽ More

    Submitted 16 May, 2024; originally announced May 2024.

  9. arXiv:2401.05642  [pdf, other

    cs.SE

    Optimistic Prediction of Synchronization-Reversal Data Races

    Authors: Zheng Shi, Umang Mathur, Andreas Pavlogiannis

    Abstract: Dynamic data race detection has emerged as a key technique for ensuring reliability of concurrent software in practice. However, dynamic approaches can often miss data races owing to nondeterminism in the thread scheduler. Predictive race detection techniques cater to this shortcoming by inferring alternate executions that may expose data races without re-executing the underlying program. More for… ▽ More

    Submitted 10 January, 2024; originally announced January 2024.

    Comments: ICSE'24

  10. arXiv:2312.13320  [pdf, ps, other

    cs.DS cs.CC cs.LO cs.PL

    A faster FPRAS for #NFA

    Authors: Kuldeep S. Meel, Sourav Chakraborty, Umang Mathur

    Abstract: Given a non-deterministic finite automaton (NFA) A with m states, and a natural number n (presented in unary), the #NFA problem asks to determine the size of the set L(A_n) of words of length n accepted by A. While the corresponding decision problem of checking the emptiness of L(A_n) is solvable in polynomial time, the #NFA problem is known to be #P-hard. Recently, the long-standing open question… ▽ More

    Submitted 7 April, 2024; v1 submitted 20 December, 2023; originally announced December 2023.

    Comments: To appear in the proceedings of PODS 2024

  11. arXiv:2311.04302  [pdf, other

    cs.PL

    How Hard is Weak-Memory Testing?

    Authors: Soham Chakraborty, Shankaranarayanan Krishna, Umang Mathur, Andreas Pavlogiannis

    Abstract: Weak-memory models are standard formal specifications of concurrency across hardware, programming languages, and distributed systems. A fundamental computational problem is consistency testing: is the observed execution of a concurrent program in alignment with the specification of the underlying system? The problem has been studied extensively across Sequential Consistency (SC) and weak memory, a… ▽ More

    Submitted 15 November, 2023; v1 submitted 7 November, 2023; originally announced November 2023.

  12. arXiv:2310.14611  [pdf, other

    cs.PL

    Predictive Monitoring against Pattern Regular Languages

    Authors: Zhendong Ang, Umang Mathur

    Abstract: In this paper, we focus on the problem of dynamically analysing concurrent software against high-level temporal specifications. Existing techniques for runtime monitoring against such specifications are primarily designed for sequential software and remain inadequate in the presence of concurrency -- violations may be observed only in intricate thread interleavings, requiring many re-runs of the u… ▽ More

    Submitted 18 January, 2024; v1 submitted 23 October, 2023; originally announced October 2023.

  13. arXiv:2304.03714  [pdf, other

    cs.PL cs.LO

    Optimal Reads-From Consistency Checking for C11-Style Memory Models

    Authors: Hünkar Can Tunç, Parosh Aziz Abdulla, Soham Chakraborty, Shankaranarayanan Krishna, Umang Mathur, Andreas Pavlogiannis

    Abstract: Over the years, several memory models have been proposed to capture the subtle concurrency semantics of C/C++.One of the most fundamental problems associated with a memory model M is consistency checking: given an execution X, is X consistent with M? This problem lies at the heart of numerous applications, including specification testing and litmus tests, stateless model checking, and dynamic anal… ▽ More

    Submitted 11 May, 2023; v1 submitted 7 April, 2023; originally announced April 2023.

  14. arXiv:2304.03692  [pdf, other

    cs.PL cs.LO

    Sound Dynamic Deadlock Prediction in Linear Time

    Authors: Hünkar Can Tunç, Umang Mathur, Andreas Pavlogiannis, Mahesh Viswanathan

    Abstract: Deadlocks are one of the most notorious concurrency bugs, and significant research has focused on detecting them efficiently. Dynamic predictive analyses work by observing concurrent executions, and reason about alternative interleavings that can witness concurrency bugs. Such techniques offer scalability and sound bug reports, and have emerged as an effective approach for concurrency bug detectio… ▽ More

    Submitted 25 June, 2023; v1 submitted 7 April, 2023; originally announced April 2023.

  15. arXiv:2208.12117  [pdf, other

    cs.FL cs.LO cs.PL

    Coarser Equivalences for Causal Concurrency

    Authors: Azadeh Farzan, Umang Mathur

    Abstract: Trace theory is a principled framework for defining equivalence relations for concurrent program runs based on a commutativity relation over the set of atomic steps taken by individual program threads. Its simplicity, elegance, and algorithmic efficiency makes it useful in many different contexts including program verification and testing. We study relaxations of trace equivalence with the goal of… ▽ More

    Submitted 25 October, 2023; v1 submitted 25 August, 2022; originally announced August 2022.

    ACM Class: F.3.1; D.3.1

  16. arXiv:2201.06325  [pdf, other

    cs.LO cs.DC cs.SE

    A Tree Clock Data Structure for Causal Orderings in Concurrent Executions

    Authors: Umang Mathur, Andreas Pavlogiannis, Hünkar Can Tunç, Mahesh Viswanathan

    Abstract: Dynamic techniques are a scalable and effective way to analyze concurrent programs. Instead of analyzing all behaviors of a program, these techniques detect errors by focusing on a single program execution. Often a crucial step in these techniques is to define a causal ordering between events in the execution, which is then computed using vector clocks, a simple data structure that stores logical… ▽ More

    Submitted 17 January, 2022; originally announced January 2022.

  17. arXiv:2107.03569  [pdf, other

    cs.PL cs.CC

    Dynamic Data-Race Detection through the Fine-Grained Lens

    Authors: Rucha Kulkarni, Umang Mathur, Andreas Pavlogiannis

    Abstract: Data races are among the most common bugs in concurrency. The standard approach to data-race detection is via dynamic analyses, which work over executions of concurrent programs, instead of the program source code. The rich literature on the topic has created various notions of dynamic data races, which are known to be detected efficiently when certain parameters (e.g., number of threads) are smal… ▽ More

    Submitted 7 July, 2021; originally announced July 2021.

  18. arXiv:2010.16385  [pdf, other

    cs.PL

    Optimal Prediction of Synchronization-Preserving Races

    Authors: Umang Mathur, Andreas Pavlogiannis, Mahesh Viswanathan

    Abstract: Concurrent programs are notoriously hard to write correctly, as scheduling nondeterminism introduces subtle errors that are both hard to detect and to reproduce. The most common concurrency errors are (data) races, which occur when memory-conflicting actions are executed concurrently. Consequently, considerable effort has been made towards developing efficient techniques for race detection. The mo… ▽ More

    Submitted 30 October, 2020; originally announced October 2020.

  19. arXiv:2010.09974  [pdf, other

    cs.SE

    Scalable Statistical Root Cause Analysis on App Telemetry

    Authors: Vijayaraghavan Murali, Edward Yao, Umang Mathur, Satish Chandra

    Abstract: Despite engineering workflows that aim to prevent buggy code from being deployed, bugs still make their way into the Facebook app. When symptoms of these bugs, such as user submitted reports and automatically captured crashes, are reported, finding their root causes is an important step in resolving them. However, at Facebook's scale of billions of users, a single bug can manifest as several diffe… ▽ More

    Submitted 17 March, 2021; v1 submitted 19 October, 2020; originally announced October 2020.

  20. arXiv:2004.14931  [pdf, other

    cs.LO cs.CC

    The Complexity of Dynamic Data Race Prediction

    Authors: Umang Mathur, Andreas Pavlogiannis, Mahesh Viswanathan

    Abstract: Writing concurrent programs is notoriously hard due to scheduling non-determinism. The most common concurrency bugs are data races, which are accesses to a shared resource that can be executed concurrently. Dynamic data-race prediction is the most standard technique for detecting data races: given an observed, data-race-free trace $t$, the task is to determine whether $t$ can be reordered to a tra… ▽ More

    Submitted 2 May, 2020; v1 submitted 30 April, 2020; originally announced April 2020.

  21. Atomicity Checking in Linear Time using Vector Clocks

    Authors: Umang Mathur, Mahesh Viswanathan

    Abstract: Multi-threaded programs are challenging to write. Developers often need to reason about a prohibitively large number of thread interleavings to reason about the behavior of software. A non-interference property like atomicity can reduce this interleaving space by ensuring that any execution is equivalent to an execution where all atomic blocks are executed serially. We consider the well studied no… ▽ More

    Submitted 17 October, 2020; v1 submitted 14 January, 2020; originally announced January 2020.

  22. arXiv:1910.10889  [pdf, ps, other

    cs.PL cs.LO

    What's Decidable About Program Verification Modulo Axioms?

    Authors: Umang Mathur, P. Madhusudan, Mahesh Viswanathan

    Abstract: We consider the decidability of the verification problem of programs \emph{modulo axioms} --- that is, verifying whether programs satisfy their assertions, when the functions and relations it uses are assumed to interpreted by arbitrary functions and relations that satisfy a set of first-order axioms. Unfortunately, verification of entirely uninterpreted programs (with the empty set of axioms) is… ▽ More

    Submitted 28 October, 2019; v1 submitted 23 October, 2019; originally announced October 2019.

  23. Decidable Synthesis of Programs with Uninterpreted Functions

    Authors: Paul Krogmeier, Umang Mathur, Adithya Murali, P. Madhusudan, Mahesh Viswanathan

    Abstract: We identify a decidable synthesis problem for a class of programs of unbounded size with conditionals and iteration that work over infinite data domains. The programs in our class use uninterpreted functions and relations, and abide by a restriction called coherence that was recently identified to yield decidable verification. We formulate a powerful grammar-restricted (syntax-guided) synthesis pr… ▽ More

    Submitted 22 July, 2020; v1 submitted 21 October, 2019; originally announced October 2019.

  24. arXiv:1907.00298  [pdf, ps, other

    cs.PL cs.FL cs.LO cs.SE

    Deciding Memory Safety for Single-Pass Heap-Manipulating Programs

    Authors: Umang Mathur, Adithya Murali, Paul Krogmeier, P. Madhusudan, Mahesh Viswanathan

    Abstract: We investigate the decidability of automatic program verification for programs that manipulate heaps, and in particular, decision procedures for proving memory safety for them. We extend recent work that identified a decidable subclass of uninterpreted programs to a class of alias-aware programs that can update maps. We apply this theory to develop verification algorithms for memory safety--- dete… ▽ More

    Submitted 31 December, 2019; v1 submitted 29 June, 2019; originally announced July 2019.

    Comments: StreamVerif tool for automata-based verification of uninterpreted programs can be found at https://github.com/umangm/streamverif

    Journal ref: Proceedings of the ACM on Programming Languages Vol. 4, Issue POPL, Article 35 (December 2019)

  25. arXiv:1811.00192  [pdf, ps, other

    cs.PL cs.FL cs.LO

    Decidable Verification of Uninterpreted Programs

    Authors: Umang Mathur, P. Madhusudan, Mahesh Viswanathan

    Abstract: We study the problem of completely automatically verifying uninterpreted programs---programs that work over arbitrary data models that provide an interpretation for the constants, functions and relations the program uses. The verification problem asks whether a given program satisfies a postcondition written using quantifier-free formulas with equality on the final state, with no loop invariants,… ▽ More

    Submitted 26 August, 2020; v1 submitted 31 October, 2018; originally announced November 2018.

  26. arXiv:1808.00185  [pdf, ps, other

    cs.PL cs.SE

    What Happens - After the First Race? Enhancing the Predictive Power of Happens - Before Based Dynamic Race Detection

    Authors: Umang Mathur, Dileep Kini, Mahesh Viswanathan

    Abstract: Dynamic race detection is the problem of determining if an observed program execution reveals the presence of a data race in a program. The classical approach to solving this problem is to detect if there is a pair of conflicting memory accesses that are unordered by Lamport's happens-before (HB) relation. HB based race detection is known to not report false positives, i.e., it is sound. However,… ▽ More

    Submitted 1 August, 2018; originally announced August 2018.

  27. arXiv:1807.08427  [pdf, ps, other

    cs.PL cs.SE

    Data Race Detection on Compressed Traces

    Authors: Dileep Kini, Umang Mathur, Mahesh Viswanathan

    Abstract: We consider the problem of detecting data races in program traces that have been compressed using straight line programs (SLP), which are special context-free grammars that generate exactly one string, namely the trace that they represent. We consider two classical approaches to race detection --- using the happens-before relation and the lockset discipline. We present algorithms for both these me… ▽ More

    Submitted 23 July, 2018; originally announced July 2018.

  28. A Decidable Fragment of Second Order Logic With Applications to Synthesis

    Authors: P. Madhusudan, Umang Mathur, Shambwaditya Saha, Mahesh Viswanathan

    Abstract: We propose a fragment of many-sorted second order logic called EQSMT and show that checking satisfiability of sentences in this fragment is decidable. EQSMT formulae have an $\exists^*\forall^*$ quantifier prefix (over variables, functions and relations) making EQSMT conducive for modeling synthesis problems. Moreover, EQSMT allows reasoning using a combination of background theories provided that… ▽ More

    Submitted 27 September, 2018; v1 submitted 14 December, 2017; originally announced December 2017.

    Journal ref: 27th EACSL Annual Conference on Computer Science Logic (CSL 2018), http://drops.dagstuhl.de/opus/volltexte/2018/9698

  29. Dynamic Race Prediction in Linear Time

    Authors: Dileep Kini, Umang Mathur, Mahesh Viswanathan

    Abstract: Writing reliable concurrent software remains a huge challenge for today's programmers. Programmers rarely reason about their code by explicitly considering different possible inter-leavings of its execution. We consider the problem of detecting data races from individual executions in a sound manner. The classical approach to solving this problem has been to use Lamport's happens-before (HB) relat… ▽ More

    Submitted 16 April, 2017; v1 submitted 7 April, 2017; originally announced April 2017.

    Comments: 22 pages, 8 figures, 1 algorithm, 1 table

    ACM Class: D.2.5; D.2.4

  30. arXiv:1509.07543  [pdf, other

    cs.HC cs.CV

    On Optimizing Human-Machine Task Assignments

    Authors: Andreas Veit, Michael Wilber, Rajan Vaish, Serge Belongie, James Davis, Vishal Anand, Anshu Aviral, Prithvijit Chakrabarty, Yash Chandak, Sidharth Chaturvedi, Chinmaya Devaraj, Ankit Dhall, Utkarsh Dwivedi, Sanket Gupte, Sharath N. Sridhar, Karthik Paga, Anuj Pahuja, Aditya Raisinghani, Ayush Sharma, Shweta Sharma, Darpana Sinha, Nisarg Thakkar, K. Bala Vignesh, Utkarsh Verma, Kanniganti Abhishek , et al. (26 additional authors not shown)

    Abstract: When crowdsourcing systems are used in combination with machine inference systems in the real world, they benefit the most when the machine system is deeply integrated with the crowd workers. However, if researchers wish to integrate the crowd with "off-the-shelf" machine classifiers, this deep integration is not always possible. This work explores two strategies to increase accuracy and decrease… ▽ More

    Submitted 24 September, 2015; originally announced September 2015.

    Comments: HCOMP 2015 Work in Progress

  31. arXiv:1311.3826  [pdf, ps, other

    cs.FL cs.CC eess.SY

    Weak Singular Hybrid Automata

    Authors: Shankara Narayanan Krishna, Umang Mathur, Ashutosh Trivedi

    Abstract: The framework of Hybrid automata, introduced by Alur, Courcourbetis, Henzinger, and Ho, provides a formal modeling and analysis environment to analyze the interaction between the discrete and the continuous parts of cyber-physical systems. Hybrid automata can be considered as generalizations of finite state automata augmented with a finite set of real-valued variables whose dynamics in each state… ▽ More

    Submitted 19 June, 2014; v1 submitted 15 November, 2013; originally announced November 2013.