English
Related papers

Related papers: Subtyping in Java is a Fractal

200 papers

Programming languages are essential tools for developers, and their evolution plays a crucial role in supporting the activities of developers. One instance of programming language evolution is the introduction of syntactic sugars, which are…

Software Engineering · Computer Science 2024-02-05 David OBrien , Robert Dyer , Tien N. Nguyen , Hridesh Rajan

Fractal AI is a theory for general artificial intelligence. It allows deriving new mathematical tools that constitute the foundations for a new kind of stochastic calculus, by modelling information using cellular automaton-like structures…

Artificial Intelligence · Computer Science 2020-07-31 Sergio Hernandez Cerezo , Guillem Duran Ballester

Between $15\,\%$ and $45\,\%$ of children experience a fracture during their growth years, making accurate diagnosis essential. Fracture morphology, alongside location and fragment angle, is a key diagnostic feature. In this work, we…

Computer Vision and Pattern Recognition · Computer Science 2025-12-17 Cassandra Krause , Mattias P. Heinrich , Ron Keuth

Visual DCT is an EPICS configuration tool completely written in Java and therefore supported in various systems. It was developed to provide features missing in existing configuration tools as Capfast and GDCT. Visually Visual DCT resembles…

Software Engineering · Computer Science 2008-11-26 M. Sekoranja , S. Hunt , A. Luedeke

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

In Java, some object attributes are mutable, while others are immutable (with the "final" modifier attached to them). Objects that have at least one mutable attribute may be referred to as "mutable" objects. We suspect that mutable objects…

Software Engineering · Computer Science 2024-10-15 Marat Bagaev , Alisa Khabibrakhmanova , Georgy Sabaev , Yegor Bugayenko

We present a novel approach to generic programming over extensible data types. Row types capture the structure of records and variants, and can be used to express record and variant subtyping, record extension, and modular composition of…

Programming Languages · Computer Science 2023-07-21 Alex Hubers , J. Garrett Morris

Traits allow decomposing programs into smaller parts and mixins are a form of composition that resemble multiple inheritance. Unfortunately, in the presence of traits, programming languages like Scala give up on subtyping relation between…

Programming Languages · Computer Science 2014-07-16 Asankhaya Sharma

Software obfuscation or obscuring a software is an approach to defeat the practice of reverse engineering a software for using its functionality illegally in the development of another software. Java applications are more amenable to…

Cryptography and Security · Computer Science 2009-04-23 Praveen Sivadasan , P Sojan Lal

This study explores the effectiveness of graph neural networks (GNNs) for vulnerability detection in software code, utilizing a real-world dataset of Java vulnerability-fixing commits. The dataset's structure, based on the number of…

Cryptography and Security · Computer Science 2024-06-19 Ravil Mussabayev

Modeling generics in object-oriented programming languages such as Java and C# is a challenge. Recently we proposed a new order-theoretic approach to modeling generics. Given the strong relation between order theory and category theory, in…

Programming Languages · Computer Science 2019-06-13 Moez A. AbdelGawad

Reflective systems allow their own structures to be altered from within. Here we are concerned with a style of reflection, called linguistic reflection, which is the ability of a running program to generate new program fragments and to…

Programming Languages · Computer Science 2007-05-23 G. N. C. Kirby , R. Morrison , D. W. Stemple

Fractals are geometric shapes that can display complex and self-similar patterns found in nature (e.g., clouds and plants). Recent works in visual recognition have leveraged this property to create random fractal images for model…

Computer Vision and Pattern Recognition · Computer Science 2023-03-23 Cheng-Hao Tu , Hong-You Chen , David Carlyn , Wei-Lun Chao

We present FJ&$\lambda$, a new core calculus that extends Featherweight Java (FJ) with interfaces, supporting multiple inheritance in a restricted form, $\lambda$-expressions, and intersection types. Our main goal is to formalise how…

Logic in Computer Science · Computer Science 2023-06-22 Lorenzo Bettini , Viviana Bono , Mariangiola Dezani-Ciancaglini , Paola Giannini , Betti Venneri

Fractional graph isomorphism is the linear relaxation of an integer programming formulation of graph isomorphism. It preserves some invariants of graphs, like degree sequences and equitable partitions, but it does not preserve others like…

Combinatorics · Mathematics 2020-08-20 Flavia Bonomo-Braberman , Dora Tilli

While object diagrams (ODs) are widely used as a means to document object-oriented systems, they are expressively weak, as they are limited to describe specific possible snapshots of the system at hand. In this paper we introduce modal…

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

Context. An extension method is a method declared in a package other than the package of its host class. Thanks to extension methods, developers can adapt to their needs classes they do not own: adding methods to core classes is a typical…

Programming Languages · Computer Science 2017-08-08 Guillermo Polito , Camille Teruel , Stéphane Ducasse , Luc Fabresse

Graph algorithms play an important role in many computer science areas. In order to solve problems that can be modeled using graphs, it is necessary to use a data structure that can represent those graphs in an efficient manner. On top of…

Mathematical Software · Computer Science 2023-08-22 Cristian Frăsinaru , Emanuel Florentin Olariu

This paper presents a comparative study to evaluate and compare Fortran with the two most popular programming languages Java and C++. Fortran has gone through major and minor extensions in the years 2003 and 2008. (1) How much have these…

Programming Languages · Computer Science 2014-07-09 Shahid Alam

Graph Neural Networks (GNNs) have emerged as powerful tools for learning on graph-structured data, but often struggle to balance local and global information. While graph Transformers aim to address this by enabling long-range interactions,…

Machine Learning · Computer Science 2025-11-18 Jeongwhan Choi , Seungjun Park , Sumin Park , Sung-Bae Cho , Noseong Park