English
Related papers

Related papers: Datalog-based Scalable Semantic Diffing of Concurr…

200 papers

Existing code similarity metrics, such as BLEU, CodeBLEU, and TSED, largely rely on surface-level string overlap or abstract syntax tree structures, and often fail to capture deeper semantic relationships between programs.We propose CSSG…

Programming Languages · Computer Science 2026-01-15 Yiyang Lu , Jingwen Xu , Changze Lv , Zisu Huang , Zhengkang Guo , Zhengyuan Wang , Muzhao Tian , Xuanjing Huang , Xiaoqing Zheng

Bounded model checking is among the most efficient techniques for the automatic verification of concurrent programs. However, encoding all possible interleavings often requires a huge and complex formula, which significantly limits the…

Programming Languages · Computer Science 2018-04-04 Liangze Yin , Wei Dong , Wanwei Liu , Ji Wang

Serializability is a well-understood concurrency control mechanism that eases reasoning about highly-concurrent database programs. Unfortunately, enforcing serializability has a high-performance cost, especially on geographically…

Programming Languages · Computer Science 2021-03-10 Kia Rahmani , Kartik Nagar , Benjamin Delaware , Suresh Jagannathan

Concurrent linearizable access to shared objects can be prohibitively expensive in a high contention workload. Many applications apply ad-hoc techniques to eliminate the need of synchronous atomic updates, which may result in…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-05-11 Deepthi Devaki Akkoorath , José Brandão , Annette Bieniusa , Carlos Baquero

Static analysis is the analysis of a program without executing it, usually carried out by an automated tool. Symbolic execution is a popular static analysis technique used both in program verification and in bug detection software. It works…

Software Engineering · Computer Science 2024-08-06 Gabor Horvath , Reka Kovacs , Zoltan Porkolab

Recursive queries have been traditionally studied in the framework of datalog, a language that restricts recursion to monotone queries over sets, which is guaranteed to converge in polynomial time in the size of the input. But modern big…

Databases · Computer Science 2024-01-26 Mahmoud Abo Khamis , Hung Q. Ngo , Reinhard Pichler , Dan Suciu , Yisu Remy Wang

Verification techniques express program states as logical formulas over program variables. For example, symbolic execution and abstract interpretation encode program states as a set of integer inequalities. However, for real-world programs…

Logic in Computer Science · Computer Science 2024-04-26 Kenny Ballou , Elena Sherman

Prior work on Automatically Scalable Computation (ASC) suggests that it is possible to parallelize sequential computation by building a model of whole-program execution, using that model to predict future computations, and then…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-09-21 Peter Kraft , Amos Waterland , Daniel Y Fu , Anitha Gollamudi , Shai Szulanski , Margo Seltzer

Changes, planned or unexpected, are common during the execution of real-life processes. Detecting these changes is a must for optimizing the performance of organizations running such processes. Most of the algorithms present in the…

Artificial Intelligence · Computer Science 2025-10-28 Victor Gallego-Fontenla , Juan C. Vidal , Manuel Lama

Detecting anomalies in discrete event logs is critical for ensuring system reliability, security, and efficiency. Traditional window-based methods for log anomaly detection often suffer from context bias and fuzzy localization, which hinder…

Software Engineering · Computer Science 2025-01-22 Jiaxing Qi , Chang Zeng , Zhongzhi Luan , Shaohan Huang , Shu Yang , Yao Lu , Hailong Yang , Depei Qian

Nondeterminism in scheduling is the cardinal reason for difficulty in proving correctness of concurrent programs. A powerful proof strategy was recently proposed [6] to show the correctness of such programs. The approach captured data-flow…

Programming Languages · Computer Science 2016-04-29 Chinmay Narayan , Subodh Sharma , Shibashis Guha , S. Arun-Kumar

Automated synthesis of inductive invariants is an important problem in software verification. Once all the invariants have been specified, software verification reduces to checking of verification conditions. Although static analyses to…

Machine Learning · Computer Science 2020-07-17 Sahil Bhatia , Saswat Padhi , Nagarajan Natarajan , Rahul Sharma , Prateek Jain

Software development processes are subject to variations in time and space, variations that can originate from learning effects, differences in application domains, or a number of other causes. Identifying and analyzing such differences is…

Software Engineering · Computer Science 2014-01-21 Martín Soto , Jürgen Münch

Most enterprise applications use logging as a mechanism to diagnose anomalies, which could help with reducing system downtime. Anomaly detection using software execution logs has been explored in several prior studies, using both classical…

Machine Learning · Computer Science 2023-11-01 Nadun Wijesinghe , Hadi Hemmati

With an increasing number of value-flow properties to check, existing static program analysis still tends to have scalability issues when high precision is required. We observe that the key design flaw behind the scalability problem is that…

Software Engineering · Computer Science 2019-12-17 Qingkai Shi , Rongxin Wu , Gang Fan , Charles Zhang

Modelling semantic similarity plays a fundamental role in lexical semantic applications. A natural way of calculating semantic similarity is to access handcrafted semantic networks, but similarity prediction can also be anticipated in a…

Computation and Language · Computer Science 2022-10-03 Dongqiang Yang , Yanqin Yin

The rapid evolution of code largelanguage models underscores the need for effective and transparent benchmarking of their reasoning capabilities. However, the current benchmarking approach heavily depends on publicly available,…

Software Engineering · Computer Science 2025-06-05 Simin Chen , Pranav Pusarla , Baishakhi Ray

Source code similarity are increasingly used in application development to identify clones, isolate bugs, and find copy-rights violations. Similar code fragments can be very problematic due to the fact that errors in the original code must…

Software Engineering · Computer Science 2019-07-30 F Alomari , M Harbi

Performance analysis has always been an afterthought during the application development process, focusing on application correctness first. The learning curve of the existing static and dynamic analysis tools are steep, which requires…

Machine Learning · Computer Science 2021-04-23 Nathan Pinnow , Tarek Ramadan , Tanzima Z. Islam , Chase Phelps , Jayaraman J. Thiagarajan

With distributed computing and mobile applications, synchronizing diverging replicas of data structures is a more and more common problem. We use algebraic methods to reason about filesystem operations, and introduce a simplified definition…

Distributed, Parallel, and Cluster Computing · Computer Science 2018-07-24 Elod Pal Csirmaz