Modern development environments support refactoring by providing atomically behaviour-preserving transformations. While useful, these transformations are limited in three ways: (i)...
Abstract. It is common for large-scale Java applications to suffer memory problems, whether inefficient designs that impede scalability, or lifetime bugs such as leaks. Making sens...
Contemporary refactoring tools for JAVA aiding in the restructuring of programs have problems with respecting access modifiers such as public and private: while some tools provide ...
Abstract. Application frameworks provide reusable concepts that are instantiated in application code through potentially complex implementation steps such as subclassing, implement...
Abbas Heydarnoori, Krzysztof Czarnecki, Thiago T. ...
Role-based access control (RBAC) is a common paradigm to ensure that users have sufficient rights to perform various system operations. In many cases though, traditional RBAC does ...
Jeffrey Fischer, Daniel Marino, Rupak Majumdar, To...
Abstract. The expression families problem can be defined as the problem of achieving reusability and composability across the components involved in a family of related datatypes a...
We propose a novel approach based on coinductive logic to specify type systems of programming languages. The approach consists in encoding programs in Horn formulas which are inter...
We present FJig, a simple calculus where basic building blocks are classes in the style of Featherweight Java, declaring elds, methods and one constructor. However, inheritance has...
Pointer analyses derived from a Context-Free-Language (CFL) reachability formulation achieve very high precision, but they do not scale well to compute the points-to solution for a...
Model-based development promises to increase productivity by offering modeling languages tailored to a specific domain. Such modeling languages are typically defined by a metamodel...