English
Related papers

Related papers: A Comparative Study of the Usability of Two Object…

200 papers

Parallel programs require software support to coordinate access to shared data. For this purpose, modern programming languages provide strongly-consistent shared objects. To account for their many usages, these objects offer a large API.…

Distributed, Parallel, and Cluster Computing · Computer Science 2025-04-30 Boubacar Kane , Pierre Sutra

The rapid development in computing technology has paved the way for directive-based programming models towards a principal role in maintaining software portability of performance-critical applications. Efforts on such models involve a least…

Distributed, Parallel, and Cluster Computing · Computer Science 2022-04-28 Kazuaki Matsumura , Simon Garcia De Gonzalo , Antonio J. Peña

Correct concurrent programs are difficult to write; when multiple threads mutate shared data, they may lose writes, corrupt data, or produce erratic program behavior. While many of the data-race issues with concurrency can be avoided by the…

Distributed, Parallel, and Cluster Computing · Computer Science 2019-04-30 Aditya Saligrama , Andrew Shen , Jon Gjengset

This tool demonstration presents a research toolkit for a language model of Java source code. The target audience includes researchers studying problems at the granularity level of subroutines, statements, or variables in Java. In contrast…

Software Engineering · Computer Science 2023-05-16 Chia-Yi Su , Aakash Bansal , Vijayanta Jain , Sepideh Ghanavati , Collin McMillan

Concurrent computations resemble conversations. In a conversation, participants direct utterances at others and, as the conversation evolves, exploit the known common context to advance the conversation. Similarly, collaborating software…

Programming Languages · Computer Science 2024-09-09 Tony Garnock-Jones

Deep Learning (DL) models to analyze source code have shown immense promise during the past few years. More recently, self-supervised pre-training has gained traction for learning generic code representations valuable for many downstream SE…

Software Engineering · Computer Science 2023-06-07 Yangruibo Ding , Saikat Chakraborty , Luca Buratti , Saurabh Pujar , Alessandro Morari , Gail Kaiser , Baishakhi Ray

Whilst there have been great advances in HPC hardware and software in recent years, the languages and models that we use to program these machines have remained much more static. This is not from a lack of effort, but instead by virtue of…

Programming Languages · Computer Science 2016-10-31 Nick Brown

The goal of contrastive learning based pre-training is to leverage large quantities of unlabeled data to produce a model that can be readily adapted downstream. Current approaches revolve around solving an image discrimination task: given…

Computer Vision and Pattern Recognition · Computer Science 2021-11-30 Chenhongyi Yang , Lichao Huang , Elliot J. Crowley

We propose a novel, operational framework to formally describe the semantics of concurrent programs running within the context of a relaxed memory model. Our framework features a "temporary store" where the memory operations issued by the…

Programming Languages · Computer Science 2012-08-30 Gérard Boudol , Gustavo Petri , Bernard Serpette

Modern concurrent programming benefits from a large variety of synchronization techniques. These include conventional pessimistic locking, as well as optimistic techniques based on conditional synchronization primitives or transactional…

Distributed, Parallel, and Cluster Computing · Computer Science 2015-10-15 Vincent Gramoli , Petr Kuznetsov , Srivatsan Ravi

Concurrent C0 is an imperative programming language in the C family with session-typed message-passing concurrency. The previously proposed semantics implements asynchronous (non-blocking) output; we extend it here with non-blocking input.…

Logic in Computer Science · Computer Science 2017-01-19 Miguel Silva , Mário Florido , Frank Pfenning

Contrary to common belief, a recent work by Ellen, Gelashvili, Shavit, and Zhu has shown that computability does not require multicore architectures to support "strong" synchronization instructions like compare-and-swap, as opposed to…

Distributed, Parallel, and Cluster Computing · Computer Science 2017-05-09 Rati Gelashvili , Idit Keidar , Alexander Spiegelman , Roger Wattenhofer

In this paper we examine how concurrency has been embodied in mainstream programming languages. In particular, we rely on the evolutionary talking borrowed from biology to discuss major historical landmarks and crucial concepts that shaped…

Programming Languages · Computer Science 2015-07-29 Silvia Crafa

We present OBJS, a new transpiler project featuring the implementation of typified variables and functions call management in Javascript, as well as several new operators and syntax patterns that could make coding more agile and versatile.…

Programming Languages · Computer Science 2024-11-14 Alessandro Rosa

Context: Software development tools should work and behave consistently across different programming languages, so that developers do not have to familiarize themselves with new tooling for new languages. Also, being able to combine…

Programming Languages · Computer Science 2018-03-28 Fabio Niephaus , Tim Felgentreff , Tobias Pape , Robert Hirschfeld , Marcel Taeumel

We identify three problems with current techniques for implementing protocols among threads, which complicate and impair the scalability of multicore software development: implementing synchronization, implementing coordination, and…

Programming Languages · Computer Science 2013-02-27 Sung-Shik T. Q. Jongmans , Farhad Arbab

We present a new programming paradigm which can be useful, in particular, for implementing window interfaces and parallel algorithms. This paradigm allows a user to define operators which can contain nested operators. The new paradigm is…

Programming Languages · Computer Science 2010-04-26 Pavel Ruzankin

The difficulty of developing reliable parallel software is generating interest in deterministic environments, where a given program and input can yield only one possible result. Languages or type systems can enforce determinism in new code,…

Operating Systems · Computer Science 2010-02-01 Amittai Aviram , Bryan Ford

This paper reviews some programming techniques in R that have proved useful, particularly for substantial projects. These include several versions of object-oriented programming, used in a large number of R packages. The review tries to…

Methodology · Statistics 2014-09-12 John M. Chambers

Efficiently exploiting GPUs is increasingly essential in scientific computing, as many current and upcoming supercomputers are built using them. To facilitate this, there are a number of programming approaches, such as CUDA, OpenACC and…

Performance · Computer Science 2017-11-07 G. D. Balogh , I. Z. Reguly , G. R. Mudalige