English
Related papers

Related papers: Poplar: A Java Extension for Evolvable Component I…

200 papers

We demonstrate a modularity bug in the interface system of Java 8 on the practical example of a textbook design of a modular interface for vector spaces. Our example originates in our teaching of modular object-oriented design in Java 8 to…

Programming Languages · Computer Science 2017-05-02 Simon Kramer

Laravel has emerged as a foundational framework in university web development curricula. However, despite its scaffolding capabilities, students often struggle to complete projects within limited academic timelines. This conceptual paper…

When it was first introduced, the Chips-n-Salsa Java library provided stochastic local search and related algorithms, with a focus on self-adaptation and parallel execution. For the past four years, we expanded its scope to include…

Neural and Evolutionary Computing · Computer Science 2024-12-04 Vincent A. Cicirello

We present POAPS, a novel planning system for defining Partially Observable Markov Decision Processes (POMDPs) that abstracts away from POMDP details for the benefit of non-expert practitioners. POAPS includes an expressive adaptive…

Artificial Intelligence · Computer Science 2016-09-01 Christopher H. Lin , Mausam , Daniel S. Weld

GPUs and other accelerators are popular devices for accelerating compute-intensive, parallelizable applications. However, programming these devices is a difficult task. Writing efficient device code is challenging, and is typically done in…

Programming Languages · Computer Science 2018-10-23 Tim Besard , Christophe Foket , Bjorn De Sutter

Heterogeneous systems, consisting of CPUs and GPUs, offer the capability to address the demands of compute- and data-intensive applications. However, programming such systems is challenging, requiring knowledge of various parallel…

Distributed, Parallel, and Cluster Computing · Computer Science 2023-11-08 Suejb Memeti

We describe a process calculus featuring high level constructs for component-oriented programming in a distributed setting. We propose an extension of the higher-order pi-calculus intended to capture several important mechanisms related to…

Programming Languages · Computer Science 2009-09-04 Daniel Hirschkoff , Aurélien Pardon , Tom Hirschowitz , Samuel Hym , Damien Pous

We describe how to use refactoring tools to transform a Java program conforming to the Composite design pattern into a program conforming to the Visitor design pattern with the same external behavior. We also describe the inverse…

Software Engineering · Computer Science 2013-07-02 Akram Ajouli , Julien Cohen

Grammar convergence is a method that helps discovering relationships between different grammars of the same language or different language versions. The key element of the method is the operational, transformation-based representation of…

Programming Languages · Computer Science 2011-07-20 Ralf Lämmel , Vadim Zaytsev

Source code is rarely written in isolation. It depends significantly on the programmatic context, such as the class that the code would reside in. To study this phenomenon, we introduce the task of generating class member functions given…

Computation and Language · Computer Science 2018-08-30 Srinivasan Iyer , Ioannis Konstas , Alvin Cheung , Luke Zettlemoyer

The expression problem describes a fundamental tradeoff between two types of extensibility: extending a type with new operations, such as by pattern matching on an algebraic data type in functional programming, and extending a type with new…

Programming Languages · Computer Science 2025-11-21 Bohdan Liesnikov , David Binder , Tim Süberkrüb

Programming languages are engineered languages that allow to instruct a machine and share algorithmic information; they have a great influence on the society since they underlie almost every information technology artefact, and they are at…

Programming Languages · Computer Science 2015-10-16 Silvia Crafa

Component-based software engineering aims to reduce software development effort by reusing established components as building blocks of complex systems. Defining components in general-purpose programming languages restricts their reuse to…

Software Engineering · Computer Science 2014-12-10 Jan Oliver Ringert , Bernhard Rumpe , Andreas Wortmann

Java remains one of the most popular programming languages in education. Although Java programming education is well supported by study materials, learners also need more immediate support on the problems they face in their own code. When…

Software Engineering · Computer Science 2024-06-25 Philipp Straubinger , Florian Obermüller , Gordon Fraser

BoolVar/PB is an open source java library dedicated to the translation of pseudo-Boolean constraints into CNF formulae. Input constraints can be categorized with tags. Several encoding schemes are implemented in a way that each input…

Artificial Intelligence · Computer Science 2011-03-22 Olivier Bailleux

Comments are an integral part of software development; they are natural language descriptions associated with source code elements. Understanding explicit associations can be useful in improving code comprehensibility and maintaining the…

Computation and Language · Computer Science 2019-12-17 Sheena Panthaplackel , Milos Gligoric , Raymond J. Mooney , Junyi Jessy Li

Software applications integrate more and more open-source software (OSS) to benefit from code reuse. As a drawback, each vulnerability discovered in bundled OSS potentially affects the application. Upon the disclosure of every new…

Cryptography and Security · Computer Science 2025-03-18 Henrik Plate , Serena Elisa Ponta , Antonino Sabetta

Programming Language Processing (PLP) using machine learning has made vast improvements in the past few years. Increasingly more people are interested in exploring this promising field. However, it is challenging for new researchers and…

Machine Learning · Computer Science 2023-06-19 Patrick Flynn , Tristan Vanderbruggen , Chunhua Liao , Pei-Hung Lin , Murali Emani , Xipeng Shen

This paper concerns the development of metatheory for extensible languages. It uses as its starting point a view that programming languages tailored to specific application domains are to be constructed by composing components from an open…

Programming Languages · Computer Science 2023-12-25 Dawn Michaelson , Gopalan Nadathur , Eric Van Wyk

Prolog was once the main host for implementing constraint solvers. It seems that it is no longer so. To be useful, constraint solvers have to be integrable into industrial applications written in imperative or object-oriented languages; to…

Programming Languages · Computer Science 2007-05-23 Frederic Goualard