English
Related papers

Related papers: Abstract Program Slicing: an Abstract Interpretati…

200 papers

Static program analysis by abstract interpretation is an efficient method to determine properties of embedded software. One example is value analysis, which determines the values stored in the processor registers. Its results are used as…

Logic in Computer Science · Computer Science 2011-11-09 Reinhold Heckmann , Christian Ferdinand

Backward slicing has been used extensively in program understanding, debugging and scaling up of program analysis. For large programs, the size of the conventional backward slice is about 25% of the program size. This may be too large to be…

Software Engineering · Computer Science 2014-07-21 Shrawan Kumar , Amitabha Sanyal , Uday Khedker

The ability to express a program as a hierarchical composition of parts is an essential tool in managing the complexity of software and a key abstraction this provides is to separate the representation of data from the computation. Many…

Programming Languages · Computer Science 2012-10-04 James Hanlon , Simon J. Hollis , David May

Abstraction is a powerful idea widely used in science, to model, reason and explain the behavior of systems in a more tractable search space, by omitting irrelevant details. While notions of abstraction have matured for deterministic…

Artificial Intelligence · Computer Science 2020-01-14 Vaishak Belle

Problems in program analysis can be solved by developing novel program semantics and deriving abstractions conventionally. For over thirty years, higher-order program analysis has been sold as a hard problem. Its solutions have required…

Programming Languages · Computer Science 2011-05-03 Sam Tobin-Hochstadt , David Van Horn

Provenance is information recording the source, derivation, or history of some information. Provenance tracking has been studied in a variety of settings; however, although many design points have been explored, the mathematical or semantic…

Databases · Computer Science 2009-12-22 James Cheney , Amal Ahmed , Umut Acar

The technique of abstracting abstract machines (AAM) provides a systematic approach for deriving computable approximations of evaluators that are easily proved sound. This article contributes a complementary step-by-step process for…

Programming Languages · Computer Science 2013-07-25 J. Ian Johnson , Nicholas Labich , Matthew Might , David Van Horn

The aim of this paper is to alter the abstract definition of the program of the theoretical programming model which has been developed at Eotvos Lorand University for many years in order to investigate methods that support designing correct…

Programming Languages · Computer Science 2016-11-26 T. Gregorics

This paper presents the first slicing approach for probabilistic programs based on specifications. We show that when probabilistic programs are accompanied by their specifications in the form of pre- and post-condition, we can exploit this…

Programming Languages · Computer Science 2022-05-10 Marcelo Navarro , Federico Olmedo

Discrete mathematics is the foundation of computer science. It focuses on concepts and reasoning methods that are studied using math notations. It has long been argued that discrete math is better taught with programming, which takes…

Computers and Society · Computer Science 2021-10-07 Yanhong A. Liu , Matthew Castelllana

The mid-1990s saw the design of programming languages for software architectures, which define the high-level aspects of software systems including how code components were composed to form full systems. Our paper "Abstractions for Software…

Software Engineering · Computer Science 2025-03-07 Mary Shaw , Daniel V. Klein , Theodore L. Ross

ASP programs are a convenient tool for problem solving, whereas with large problem instances the size of the state space can be prohibitive. We consider abstraction as a means of over-approximation and introduce a method to automatically…

Logic in Computer Science · Computer Science 2018-09-19 Zeynep G. Saribatur , Thomas Eiter

In this article we revisit the concept of abstraction as it is used in visualization and put it on a solid formal footing. While the term \emph{abstraction} is utilized in many scientific disciplines, arts, as well as everyday life,…

Graphics · Computer Science 2020-08-19 Ivan Viola , Min Chen , Tobias Isenberg

Abstract semantics has proven to be instrumental for accelerating search-based program synthesis, by enabling the sound pruning of a set of incorrect programs (without enumerating them). One may expect faster synthesis with increasingly…

Programming Languages · Computer Science 2026-04-17 Rui Dong , Qingyue Wu , Danny Ding , Zheng Guo , Ruyi Ji , Xinyu Wang

The strength of a dynamic language is also its weakness: run-time flexibility comes at the cost of compile-time predictability. Many of the hallmarks of dynamic languages such as closures, continuations, various forms of reflection, and a…

Programming Languages · Computer Science 2014-08-18 J. Ian Johnson , David Van Horn

Static program slicing is a fundamental technique in software engineering. Traditional static slicing tools rely on parsing complete source code, which limits their applicability to real-world scenarios where code snippets are incomplete or…

Software Engineering · Computer Science 2025-09-23 Pengfei He , Shaowei Wang , Tse-Hsun Chen

The relationship between abstract interpretation and partial deduction has received considerable attention and (partial) integrations have been proposed starting from both the partial deduction and abstract interpretation perspectives. In…

Programming Languages · Computer Science 2007-05-23 German Puebla , Elvira Albert , Manuel Hermenegildo

Static program slicing is a fundamental software engineering technique for isolating code relevant to specific variables. While recent learning-based approaches using language models (LMs) show promise in automating slice prediction, they…

Software Engineering · Computer Science 2026-05-12 Pengfei He , Shaowei Wang , Tse-Hsun Chen , Muhammad Asaduzzaman

Automatic data abstraction is an important capability for both benchmarking machine intelligence and supporting summarization applications. In the former one asks whether a machine can `understand' enough about the meaning of input data to…

Computer Vision and Pattern Recognition · Computer Science 2019-08-09 Umar Riaz Muhammad , Yongxin Yang , Timothy M. Hospedales , Tao Xiang , Yi-Zhe Song

We present and evaluate a technique for computing path-sensitive interference conditions during abstract interpretation of concurrent programs. In lieu of fixed point computation, we use prime event structures to compactly represent causal…

Programming Languages · Computer Science 2017-05-02 Marcelo Sousa , César Rodríguez , Vijay D'Silva , Daniel Kroening