English
Related papers

Related papers: Why a computer program is a functional whole

200 papers

Call graphs depict the static, caller-callee relation between "functions" in a program. With most source/target languages supporting functions as the primitive unit of composition, call graphs naturally form the fundamental control flow…

Software Engineering · Computer Science 2016-11-17 Ganesh M. Narayan , K. Gopinath , V. Sridhar

Mathematics has many useful properties for developing of complex software systems. One is that it can exactly describe a physical situation of the object or outcome of an action. Mathematics support abstraction and this is an excellent…

Software Engineering · Computer Science 2010-04-19 Manoranjan Kumar Singh , Rakesh. L

Widely used complex code refactoring tools lack a solid reasoning about the correctness of the transformations they implement, whilst interest in proven correct refactoring is ever increasing as only formal verification can provide true…

Software Engineering · Computer Science 2017-08-25 Dániel Horpácsi , Judit Kőszegi , Zoltán Horváth

Program code contains functions, variables, and data structures that are represented by names. To promote human understanding, these names should describe the role and use of the code elements they represent. But the names given by…

Software Engineering · Computer Science 2022-09-08 Moshe Munk , Dror G. Feitelson

Every function on a finite set defines an equivalence relation and, therefore, a partition called the kernel of the function. Automata such that every possible partition is the kernel of a word are called totally compatible. A…

Formal Languages and Automata Theory · Computer Science 2021-10-12 David Fernando Casas Torres

There are many occasions in which the security community is interested to discover the authorship of malware binaries, either for digital forensics analysis of malware corpora or for thwarting live threats of malware invasion. Such a…

Cryptography and Security · Computer Science 2017-01-11 Saed Alrabaee , Paria Shirani , Mourad Debbabi , Lingyu Wang

Insufficient requirements reusability, understandability and verifiability jeopardize software projects. Empirical studies show little success in improving these qualities separately. Applying object-oriented thinking to requirements leads…

Software Engineering · Computer Science 2019-03-19 Alexandr Naumchev

This paper explores the complexities of automatic detection of software similarities, in relation to the unique challenges of digital artifacts, and introduces Project Martial, an open-source software solution for detecting code similarity.…

Software Engineering · Computer Science 2026-01-05 Rares Folea , Emil Slusanschi

Would it be possible to explain the emergence of new computational ideas using the computation itself? Would it be feasible to describe the discovery process of new algorithmic solutions using only mathematics? This study is the first…

Applications like program synthesis sometimes require proving that a property holds for all of the infinitely many programs described by a grammar - i.e., an inductively defined set of programs. Current verification frameworks…

Programming Languages · Computer Science 2025-07-29 Jinwoo Kim , Shaan Nagy , Thomas Reps , Loris D'Antoni

In the paper the problem of verification of functional programs (FPs) over strings is considered, where specifications of properties of FPs are defined by other FPs, and a FP S1 meets a specification defined by another FP S2 iff a…

Logic in Computer Science · Computer Science 2016-04-15 Andrew M. Mironov

With the advent of open source software, a veritable treasure trove of previously proprietary software development data was made available. This opened the field of empirical software engineering research to anyone in academia. Data that is…

Software Engineering · Computer Science 2022-04-19 Adam Tutko , Austin Z. Henley , Audris Mockus

We advocate a declarative approach to proving properties of logic programs. Total correctness can be separated into correctness, completeness and clean termination; the latter includes non-floundering. Only clean termination depends on the…

Logic in Computer Science · Computer Science 2011-10-25 W. Drabent , M. Milkowska

Program slicing provides explanations that illustrate how program outputs were produced from inputs. We build on an approach introduced in prior work by Perera et al., where dynamic slicing was defined for pure higher-order functional…

Programming Languages · Computer Science 2017-09-12 Wilmer Ricciotti , Jan Stolarek , Roly Perera , James Cheney

A program is usually represented as a word chain. It is exactly a word chain that appears as the lexical analyzer output and is parsed. The work shows that a program can be syntactically represented as an oriented word tree, that is a…

Programming Languages · Computer Science 2012-03-23 Alex Shkotin

Value independence is enormously beneficial for reasoning about software systems at scale. These benefits carry over into the world of formal verification. Reasoning about programs algebraically is a simple affair in a proof assistant,…

Programming Languages · Computer Science 2026-02-09 Liam O'Connor , Pilar Selene Linares Arevalo , Christine Rizkallah

More often than not, there is a need to understand the structure of complex computer code: what functions and in what order they are called, how information travels around static, input, and output variables, what depends on what. As a…

Software Engineering · Computer Science 2016-10-10 Igor Polkovnikov

Programming languages serve a dual purpose: to communicate programs to computers, and to communicate programs to humans. Indeed, it is this dual purpose that makes programming language design a constrained and challenging problem.…

Programming Languages · Computer Science 2016-01-12 Andrew P. Black , Kim B. Bruce , James Noble

Free and open source software (FOSS) is considered by many, along with Wikipedia, the proof of an ongoing paradigm shift from hierarchically-managed and market-driven production of knowledge to heterarchical, collaborative and commons-based…

Computers and Society · Computer Science 2010-12-30 Paolo Magrassi

While there is a long tradition of reasoning about (non)termination in program analysis, specialized logics are typically needed to give different termination criteria. This includes partial correctness, where termination is not guaranteed,…

Logic in Computer Science · Computer Science 2025-06-24 James Li , Noam Zilberstein , Alexandra Silva
‹ Prev 1 3 4 5 6 7 10 Next ›