English
Related papers

Related papers: Towards a Calculus of Object Programs

200 papers

These notes outline a formal method for program verification of numerical computation. It forms the basis of the software package VPC in its initial phase of development. Much of the style of presentation is in the form of notes that…

Mathematical Software · Computer Science 2014-01-08 Garry Pantelis

We introduce a set of eight universal Rules of Inference by which computer programs with known properties (axioms) are transformed into new programs with known properties (theorems). Axioms are presented to formalize a segment of Number…

Logic in Computer Science · Computer Science 2007-05-23 Charlie Volkstorf

We propose a model-based approach to the model checking problem for recursive schemes. Since simply typed lambda calculus with the fixpoint operator, lambda-Y-calculus, is equivalent to schemes, we propose the use of a model of…

Logic in Computer Science · Computer Science 2017-01-11 Sylvain Salvati , Igor Walukiewicz

Largely known for attack scenarios, code reuse techniques at a closer look reveal properties that are appealing also for program obfuscation. We explore the popular return-oriented programming paradigm under this light, transforming program…

Cryptography and Security · Computer Science 2021-08-12 Pietro Borrello , Emilio Coppa , Daniele Cono D'Elia

This paper presents a special subset of the first-order predicate logic named S-program calculus (briefly S-calculus). The S-calculus is a calculus consisting of so-called S-formulas that are defined over the abstract state space of a…

Logic in Computer Science · Computer Science 2010-03-04 Aleksandar Kupusinac , Dusan Malbaski

We introduce a taxonomy of objects for EO programming language. This taxonomy is designed with a few principles in mind: non-redundancy, simplicity, and so on. The taxonomy is supposed to be used as a navigation map by EO programmers. It…

Programming Languages · Computer Science 2025-08-13 Yegor Bugayenko , Maxim Trunnikov

The C Object System (Cos) is a small C library which implements high-level concepts available in Clos, Objc and other object-oriented programming languages: uniform object model (class, meta-class and property-metaclass), generic functions,…

Programming Languages · Computer Science 2010-03-15 Laurent Deniau

Aspect-oriented software development builds upon object-oriented development by offering additional abstraction boundaries that help us separate different types of requirements into so-called aspects. Given a legacy OO application, it pays…

Software Engineering · Computer Science 2021-09-27 Barthélémy Dagenais , Hafedh Mili

We present an approach to program reasoning which inserts between a program and its verification conditions an additional layer, the denotation of the program expressed in a declarative form. The program is first translated into its…

Logic in Computer Science · Computer Science 2012-02-23 Wolfgang Schreiner

To remain useful for their users, software systems need to continuously enhance and extend their functionality. Nevertheless, in many object-oriented applications, features are not represented explicitly. The lack of modularization is known…

Software Engineering · Computer Science 2014-07-07 T. Pandiyavathi

In the past years, software reverse engineering dealt with source code understanding. Nowadays, it is levered to software requirements abstract level, supported by feature model notations, language independent, and simpler than the source…

Software Engineering · Computer Science 2019-04-30 Anas Alhamwieh , Said Ghoul

Programming languages are embracing both functional and object-oriented paradigms. A key difference between the two paradigms is the way of achieving data abstraction. That is, how to organize data with associated operations. There are…

Programming Languages · Computer Science 2022-04-25 Weixin Zhang , Cristina David , Meng Wang

We describe a practical algorithm to compute the (oriented) genus of a graph, give results of the program implementing this algorithm, and compare the performance to existing algorithms. The aim of this algorithm is to be fast enough for…

Combinatorics · Mathematics 2020-05-19 G. Brinkmann

A paradox of requirements specifications as dominantly practiced in the industry is that they often claim to be object-oriented (OO) but largely rely on procedural (non-OO) techniques. Use cases and user stories describe functional flows,…

Software Engineering · Computer Science 2023-05-11 Maria Naumcheva , Sophie Ebersold , Alexandr Naumchev , Jean-Michel Bruel , Florian Galinier , Bertrand Meyer

We define an abstract framework for object-oriented programming and show that object-oriented languages, such as C++, can be interpreted as parallel programming languages. Parallel C++ code is typically more than ten times shorter than the…

Programming Languages · Computer Science 2019-03-04 Edward Givelberg

In considering the reliability of numerical programs, it is normal to "limit our study to the semantics dealing with numerical precision" (Martel, 2005). On the other hand, there is a great deal of work on the reliability of programs that…

Symbolic Computation · Computer Science 2014-04-25 James H. Davenport , Russell Bradford , Matthew England , David Wilson

In this paper we describe a new approach to programming which generalizes object-oriented programming. It is based on using a new programming construct, called concept, which generalizes classes. Concept is defined as a pair of two classes:…

Programming Languages · Computer Science 2008-01-03 Alexandr Savinov

A novel model of reversible computing, the $\aleph$-calculus, is introduced. It is declarative, reversible-Turing complete, and has a local term-rewriting semantics. Unlike previously demonstrated reversible term-rewriting systems, it does…

Programming Languages · Computer Science 2022-06-14 Hannah Earley

Object-Oriented programming is frequently challenging for undergraduate Computer Science students, particularly in understanding abstract concepts such as encapsulation, inheritance, and polymorphism. Although the literature outlines…

Software Engineering · Computer Science 2025-07-24 Andre Menolli , Bruno Strik

The demonstrated code-understanding capability of LLMs raises the question of whether they can be used for automated program verification, a task that demands high-level abstract reasoning about program properties that is challenging for…

Formal Languages and Automata Theory · Computer Science 2024-04-26 Haoze Wu , Clark Barrett , Nina Narodytska