English
Related papers

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

200 papers

Models are heavily used in software engineering and together with their systems they evolve over time. Thus, managing their changes is an important challenge for system maintainability. Existing approaches to model differencing concentrate…

Software Engineering · Computer Science 2014-09-10 Shahar Maoz , Jan Oliver Ringert , Bernhard Rumpe

Diff is a software program that detects differences between two data sets and is useful in natural language processing. This paper shows several examples of the application of diff. They include the detection of differences between two…

Computation and Language · Computer Science 2007-05-23 Masaki Murata , Hitoshi Isahara

This work utilizes the plethora of work on verification of sequential programs for the purpose of verifying concurrent programs. We reduce the verification of a concurrent program to a series of verification tasks of sequential programs.…

Programming Languages · Computer Science 2021-06-03 Dan Rasin , Orna Grumberg , Sharon Shoham

We investigate the automatic differentiation of hybrid models, viz. models that may contain delays, logical tests and discontinuities or loops. We consider differentiation with respect to parameters, initial conditions or the time. We…

Systems and Control · Computer Science 2017-06-13 John Masse , Clara Masse , François Ollivier

The verification of linearizability -- a key correctness criterion for concurrent objects -- is based on trace refinement whose checking is PSPACE-complete. This paper suggests to use \emph{branching} bisimulation instead. Our approach is…

Programming Languages · Computer Science 2024-01-03 Xiaoxiao Yang , Joost-Pieter Katoen , Hao Wu

We perform an interdisciplinary large-scale evaluation for detecting lexical semantic divergences in a diachronic and in a synchronic task: semantic sense changes across time, and semantic sense changes across domains. Our work addresses…

Computation and Language · Computer Science 2019-06-10 Dominik Schlechtweg , Anna Hätty , Marco del Tredici , Sabine Schulte im Walde

Estimating instruction-level throughput is critical for many applications: multimedia, low-latency networking, medical, automotive, avionic, and industrial control systems all rely on tightly calculable and accurate timing bounds of their…

Programming Languages · Computer Science 2023-05-18 Min-Yih Hsu , Felicitas Hetzelt , David Gens , Michael Maitland , Michael Franz

There are billions of lines of sequential code inside nowadays' software which do not benefit from the parallelism available in modern multicore architectures. Automatically parallelizing sequential code, to promote an efficient use of the…

Programming Languages · Computer Science 2016-04-13 Alcides Fonseca , Bruno Cabral , João Rafael , Ivo Correia

Edge-labeled graphs are widely used to describe relationships between entities in a database. Given a query subgraph that represents an example of what the user is searching for, we study the problem of efficiently searching for similar…

Databases · Computer Science 2020-05-12 Zhaoyang Shao , Davood Rafiei , Themis Palpanas

Artificial Intelligence has gained a lot of traction in the recent years, with machine learning notably starting to see more applications across a varied range of fields. One specific machine learning application that is of interest to us…

Software Engineering · Computer Science 2023-05-10 Teodor Rares Begu

Logs provide valuable insights into system runtime and assist in software development and maintenance. Log parsing, which converts semi-structured log data into structured log data, is often the first step in automated log analysis. Given…

Software Engineering · Computer Science 2025-10-31 Nafid Enan , Gias Uddin

Deep learning is being used extensively in a variety of software engineering tasks, e.g., program classification and defect prediction. Although the technique eliminates the required process of feature engineering, the construction of…

Software Engineering · Computer Science 2021-11-24 Zhehao Zhao , Bo Yang , Ge Li , Huai Liu , Zhi Jin

Machine learning and deep learning-based decision making has become part of today's software. The goal of this work is to ensure that machine learning and deep learning-based systems are as trusted as traditional software. Traditional…

Computer programs often behave differently under different compilers or in different computing environments. Relative debugging is a collection of techniques by which these differences are analysed. Differences may arise because of…

Software Engineering · Computer Science 2013-04-12 John Collins , Brian Farrimond , David Flower , Mark Anderson , David Gill

Concurrent Constraint Programming (CCP) is a declarative model for concurrency where agents interact by telling and asking constraints (pieces of information) in a shared store. Some previous works have developed (approximated) declarative…

Logic in Computer Science · Computer Science 2017-02-13 Moreno Falaschi , Maurizio Gabbrielli , Carlos Olarte , Catuscia Palamidessi

A number of high-level languages and libraries have been proposed that offer novel and simple to use abstractions for concurrent, asynchronous, and distributed programming. The execution models that realise them, however, often change over…

Software Engineering · Computer Science 2018-01-18 Claudio Corrodi , Alexander Heußner , Christopher M. Poskitt

Logs are crucial for analyzing large-scale software systems, offering insights into system health, performance, security threats, potential bugs, etc. However, their chaotic nature$\unicode{x2013}$characterized by sheer volume, lack of…

Software Engineering · Computer Science 2025-02-20 Dmytro Borysenkov , Adriano Vogel , Sören Henning , Esteban Perez-Wohlfeil

Computer programs may go wrong due to exceptional behaviors, out-of-bound array accesses, or simply coding errors. Thus, they cannot be blindly trusted. Scientific computing programs make no exception in that respect, and even bring…

We introduce a new dynamic analysis technique to discover invariants in separation logic for heap-manipulating programs. First, we use a debugger to obtain rich program execution traces at locations of interest on sample inputs. These…

Programming Languages · Computer Science 2019-07-02 Ton Chanh Le , Guolong Zheng , ThanhVu Nguyen

The verification of multithreaded software is still a challenge. This comes mainly from the fact that the number of thread interleavings grows exponentially in the number of threads. The idea that thread interleavings can be studied with a…

Logic in Computer Science · Computer Science 2011-09-27 Robert Mittermayr , Johann Blieberger