Object and reference immutability using Java generics [PDF]
A compiler-checked immutability guarantee provides useful documentation, facilitates reasoning, and enables optimizations. This paper presents Immutability Generic Java (IGJ), a novel language extension that expresses immutability without changing Java's syntax by building upon Java's generics and annotation mechanisms.
Yoav Zibin +5 more
openaire +1 more source
Clone Removal in Java Programs as a Process of Stepwise Unification [PDF]
Cloned code is one of the most important obstacles against consistent software maintenance and evolution. Although today's clone detection tools find a variety of clones, they do not offer any advice how to remove such clones.
Bremm, Andri, Speicher, Daniel
core
Specifying generic Java programs
This work investigates the question of modular specification of generic Java classes and methods. We propose extensions to the Krakatoa Modeling Language, a part of the Why platform for proving that a Java or C program is a correct implementation of some specification.
Giorgetti, Alain +3 more
openaire +2 more sources
Empowering Collections with Swarm Behavior
Often, when modelling a system there are properties and operations that are related to a group of objects rather than to a single object. In this paper we extend Java with Swarm Behavior, a new composition operator that associates behavior with a ...
Denker, Marcus +2 more
core +1 more source
Orthogonal persistence in Java supported by aspect- oriented programming and reflection [PDF]
The persistence concern implemented as an aspect has been studied since the appearance of the Aspect-Oriented paradigm. Frequently, persistence is given as an example that can be aspectized, but until today no real world solution has applied that ...
Pereira, Rui Humberto +1 more
core
Mungo and StMungo: tools for typechecking protocols in Java [PDF]
We present two tools that support static typechecking of communica- tion protocols in Java. Mungo associates Java classes with typestate specifications, which are state machines defining permitted sequences of method calls.
Dardha, Ornela +5 more
core
The C Object System: Using C as a High-Level Object-Oriented Language
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, multi-methods,
Deniau, Laurent
core
Variation in Price of Cardiovascular and Diabetes Medicine in Indonesia, and Relationship with Quality: A Mixed Methods Study in East Java. [PDF]
Pisani E +10 more
europepmc +1 more source
A Language and Toolset for the Synthesis and Efficient Simulation of Clock-Cycle-True Signal-Processing Algorithms [PDF]
Optimal simulation speed and synthesizability are contradictory requirements for a hardware description language. This paper presents a language and toolset that enables both synthesis and fast simulation of fixed-point signal processing algorithms at ...
Gerez, Sabih H. +2 more
core +1 more source
A heuristic-based approach to code-smell detection [PDF]
Encapsulation and data hiding are central tenets of the object oriented paradigm. Deciding what data and behaviour to form into a class and where to draw the line between its public and private details can make the difference between a class that is an ...
Kirk, D., Roper, M., Wood, M.
core

