English
Related papers

Related papers: A Modularity Bug in Java 8

200 papers

Reference immutability is a type based technique for taming mutation that has long been studied in the context of object-oriented languages, like Java. Recently, though, languages like Scala have blurred the lines between functional…

Programming Languages · Computer Science 2023-11-14 Edward Lee , Ondřej Lhoták

Trying to cope with the constantly growing number of cores per processor, hardware architects are experimenting with modular non-cache-coherent architectures. Such architectures delegate the memory coherency to the software. On the…

Distributed, Parallel, and Cluster Computing · Computer Science 2016-06-15 Foivos S. Zakkak , Polyvios Pratikakis

We revisit the well-known object-pool design pattern in Java. In the last decade, the pattern has attracted a lot of criticism regarding its validity when used for light-weight objects that are only meant to hold memory rather than any…

Software Engineering · Computer Science 2018-01-15 Ioannis T. Christou , Sofoklis Efremidis

Scientific legacy code in MATLAB/Octave not compatible with modernization of research workflows is vastly abundant throughout academic community. Performance of non-vectorized code written in MATLAB/Octave represents a major burden. A new…

Software Engineering · Computer Science 2017-01-10 Vardan Andriasyan , Yauhen Yakimovich , Artur Yakimovich

Although writing code seems trivial at times, problems arise when humans misinterpret what the code actually does. One of the potential causes are "atoms of confusion", the smallest possible patterns of misinterpretable source code.…

Software Engineering · Computer Science 2021-03-11 Chris Langhout , Maurício Aniche

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

Mistakes in binary conditions are a source of error in many software systems. They happen when developers use, e.g., < or > instead of <= or >=. These boundary mistakes are hard to find and impose manual, labor-intensive work for software…

Software Engineering · Computer Science 2021-02-25 Hendrig Sellik , Onno van Paridon , Georgios Gousios , Maurício Aniche

Incremental and parallel builds are crucial features of modern build systems. Parallelism enables fast builds by running independent tasks simultaneously, while incrementality saves time and computing resources by processing the build…

Software Engineering · Computer Science 2023-12-05 Thodoris Sotiropoulos , Stefanos Chaliasos , Dimitris Mitropoulos , Diomidis Spinellis

Defects4J is a large, peer-reviewed, structured dataset of real-world Java bugs. Each bug in Defects4J comes with a test suite and at least one failing test case that triggers the bug. In this paper, we report on an experiment to explore…

Software Engineering · Computer Science 2021-11-12 Matias Martinez , Thomas Durieux , Romain Sommerard , Jifeng Xuan , Martin Monperrus

Background: The process of mapping a source code entity onto an architectural module is to a large degree a manual task. Automating this process could increase the use of static architecture conformance checking methods, such as reflexion…

Software Engineering · Computer Science 2021-09-21 Tobias Olsson , Morgan Ericsson , Anna Wingkvist

We develop a new intermediate weak memory model, IMM, as a way of modularizing the proofs of correctness of compilation from concurrent programming languages with weak memory consistency semantics to mainstream multi-core architectures,…

Programming Languages · Computer Science 2018-11-12 Anton Podkopaev , Ori Lahav , Viktor Vafeiadis

Computational notebooks became indispensable tools for research-related development, offering unprecedented interactivity and flexibility in the development process. However, these benefits come at the cost of reproducibility and an…

Software Engineering · Computer Science 2024-05-06 Konstantin Grotov , Sergey Titov , Yaroslav Zharov , Timofey Bryksin

A key part of learning to program is learning to understand programming error messages. They can be hard to interpret and identifying the cause of errors can be time-consuming. One factor in this challenge is that the messages are typically…

Human-Computer Interaction · Computer Science 2024-04-03 Juho Leinonen , Arto Hellas , Sami Sarsa , Brent Reeves , Paul Denny , James Prather , Brett A. Becker

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

This paper describes a new modelling language for the effective design and validation of Java annotations. Since their inclusion in the 5th edition of Java, annotations have grown from a useful tool for the addition of meta-data to play a…

Programming Languages · Computer Science 2019-10-02 Irene Córdoba , Juan de Lara

Interfaces are recognized as an important mechanism to define contracts governing interactions between semi-independent software modules. Well-designed interfaces significantly reduce software complexity and ease maintainability by…

Software Engineering · Computer Science 2013-10-01 Hani Abdeen , Osama Shata , Abdelkarim Erradi

Programmers often use Q&A sites (e.g., Stack Overflow) to understand a root cause of program bugs. Runtime exceptions is one of such important class of bugs that is actively discussed on Stack Overflow. However, it may be difficult for…

Software Engineering · Computer Science 2024-05-20 Yusuke Kimura , Takumi Akazaki , Shinji Kikuchi , Sonal Mahajan , Mukul R. Prasad

Hazard radiation can lead the system fault therefore Fault Tolerance is required. Fault Tolerant is a system, which is designed to keep operations running, despite the degradation in the specific module is happening. Many fault tolerances…

Hardware Architecture · Computer Science 2014-03-11 Haryono , Jazi Eko Istiyanto , Agus Harjoko , Agfianto Eko Putra

The paper introduces the development of a modular compiler for a subset of a C-like language, which addresses the challenges in constructing a compiler for high-level languages. This modular approach will allow developers to modify a…

Programming Languages · Computer Science 2025-01-10 Debasish Dutta , Neeharika Sonowal , Irani Hazarika

Of the complex features of generic nominally-typed OO type systems, wildcard types and variance annotations are probably the hardest to fully grasp. As demonstrated when adding closures (a.k.a., lambdas) and when extending type inference in…

Programming Languages · Computer Science 2018-07-17 Moez A. AbdelGawad
‹ Prev 1 3 4 5 6 7 10 Next ›