Open Access. Powered by Scholars. Published by Universities.®
Programming Languages and Compilers Commons™
Open Access. Powered by Scholars. Published by Universities.®
- Discipline
- Institution
- Publication Year
- Publication
-
- Publications and Research (13)
- Northeast Parallel Architecture Center (6)
- Mathematics, Physics, and Computer Science Faculty Articles and Research (4)
- Open Educational Resources (4)
- Research Collection School Of Computing and Information Systems (4)
-
- Departmental Technical Reports (CS) (2)
- College of Engineering and Computer Science - Former Departments, Centers, Institutes and Projects (1)
- Computer Science: Faculty Publications and Other Works (1)
- Faculty Working Papers (1)
- Georgia Undergraduate Research Conference (1)
- Honors Theses (1)
- Open Educational Resources Publications (1)
- Physics (1)
- Senior Honors Projects, 2010-2019 (1)
- The ITB Journal (1)
- Williams Honors College, Honors Research Projects (1)
- Publication Type
Articles 31 - 43 of 43
Full-Text Articles in Programming Languages and Compilers
Automated Refactoring Of Legacy Java Software To Enumerated Types, Raffi Khatchadourian, Jason Sawin, Atanas Rountev
Automated Refactoring Of Legacy Java Software To Enumerated Types, Raffi Khatchadourian, Jason Sawin, Atanas Rountev
Publications and Research
Modern Java languages introduce several new features that offer significant improvements over older Java technology. In this article we consider the new enum construct, which provides language support for enumerated types. Prior to recent Java languages, programmers needed to employ various patterns (e.g., the weak enum pattern) to compensate for the absence of enumerated types in Java. Unfortunately, these compensation patterns lack several highly-desirable properties of the enum construct, most notably, type safety. We present a novel fully-automated approach for transforming legacy Java code to use the new enumeration construct. This semantics-preserving approach increases type safety, produces code that is …
Digital Support For Abductive Learning In Introductory Computing Courses, Atanas Radenski
Digital Support For Abductive Learning In Introductory Computing Courses, Atanas Radenski
Mathematics, Physics, and Computer Science Faculty Articles and Research
Students who grew up browsing the Web are skilled in what is usually referred to as abduction, a reasoning process that starts with a set of specific observations and then generates the best possible explanation of those observations. In order to exploit the abduction skills of contemporary students, we have developed digital CS1/2 study packs that promote and support active learning through abduction, i.e., abductive learning. The study packs integrate a variety of digital resources: online self-guided labs, e-texts, tutorial links, sample programs, quizzes, and slides. These online packs stimulate students to learn abductively by browsing, searching, and performing self-guided …
Specialization Of Java Generic Types, Elena Machkasova, Sam Bevier
Specialization Of Java Generic Types, Elena Machkasova, Sam Bevier
Faculty Working Papers
No abstract provided.
Python First: A Lab-Based Digital Introduction To Computer Science, Atanas Radenski
Python First: A Lab-Based Digital Introduction To Computer Science, Atanas Radenski
Mathematics, Physics, and Computer Science Faculty Articles and Research
The emphasis on Java and other commercial languages in CS1 has established the perception of computer science as a dry and technically difficult discipline among undecided students who are still seeking careers. This may not be a big problem during an enrolment boom, but in times of decreased enrolment such negative perception may have a devastating effect on computer science programs and therefore should not be ignored. We have made our CS1 course offerings more attractive to students (1) by introducing an easy to learn yet effective scripting language - Python, (2) by making all course resources available in a …
Jess – A Java Security Scanner For Eclipse, Russell Spitler
Jess – A Java Security Scanner For Eclipse, Russell Spitler
Honors Theses
Secure software is the responsibility of every developer. In order to help a developer with this responsibility there are many automated source code security auditors. These tools perform a variety of functions, from finding calls to insecure functions to poorly generated random numbers. These programs have existed for years and perform the security audit with varying degrees of success.
Largely missing in the world of programming is such a security auditor for the Java programming language. Currently, Fortify Software produces the only Java source code security auditor; this is a commercially available package.
This void is what inspired JeSS, Java …
Mpj: Mpi-Like Message Passing For Java, Bryan Carpenter, Vladimir Getov, Glenn Judd, Anthony Skjellum, Geoffrey C. Fox
Mpj: Mpi-Like Message Passing For Java, Bryan Carpenter, Vladimir Getov, Glenn Judd, Anthony Skjellum, Geoffrey C. Fox
Northeast Parallel Architecture Center
Recently, there has been a lot of interest in using Java for parallel programming. Efforts have been hindered by lack of standard Java parallel programming APIs. To alleviate this problem, various groups started projects to develop Java message passing systems modeled on the successful Message Passing Interface (MPI). Official MPI bindings are currently defined only for C, Fortran, and C++, so early MPI-like environments for Java have been divergent. This paper related an effort undertaken by a working group of the Java Grande Forum, seeking a consensus on an MPI-like API, to enhance the viability of parallel programming using Java.
Java’S Insecure Parallelism, Per Brinch Hansen
Java’S Insecure Parallelism, Per Brinch Hansen
College of Engineering and Computer Science - Former Departments, Centers, Institutes and Projects
The author examines the synchronization features of Java and finds that they are insecure variants of his earliest ideas in parallel programming published in 1972-73. The claim that Java supports monitors is shown to be false. The author concludes that Java ignores the last twenty-five years of research in parallel programming languages.
A High Level Spmd Programming Model: Hpspmd And Its Java Language Binding, Guansong Zhang, Bryan Carpenter, Geoffrey C. Fox, Xinying Li
A High Level Spmd Programming Model: Hpspmd And Its Java Language Binding, Guansong Zhang, Bryan Carpenter, Geoffrey C. Fox, Xinying Li
Northeast Parallel Architecture Center
This report introduces a new language, HPJava, for parallel programming on message passing systems. The language provides a high level SPMD programming model. Through examples and performance results, the features of the new programming style, and its implementation, are illustrated.
Java/Corba Based Real-Time Infrastructure To Integrate Event-Driven Simulations, Collaboration And Distributed Object/Componentware Computing, Geoffrey C. Fox, Wojtek Furmanski, Hasan T. Ozdemir
Java/Corba Based Real-Time Infrastructure To Integrate Event-Driven Simulations, Collaboration And Distributed Object/Componentware Computing, Geoffrey C. Fox, Wojtek Furmanski, Hasan T. Ozdemir
Northeast Parallel Architecture Center
We are discussing the four major standard candidates for distributed object/componentware computing: Java, CORBA, COM and WOM within our proposed coordination framework we call Pragmatic Object Web (POW). We describe our integration approach based on multi-protocol middleware server JWORB (Java Web Object Request Broker) that currently integrates HTTP and IIOP and which we now further develop to also support COM and WOM core functionalities. We are also experimenting with visual data ow authoring front-ends using NPAC WebFlow system on top of JWORB based software bus. Finally, we illustrate our technologies in one major application domain- DoD Modeling and Simulation- where …
Towards A Java Environment For Spmd Programming, Bryan Carpenter, Guansong Zhang, Geoffrey C. Fox, Xiaoming Li
Towards A Java Environment For Spmd Programming, Bryan Carpenter, Guansong Zhang, Geoffrey C. Fox, Xiaoming Li
Northeast Parallel Architecture Center
As a relatively straightforward object-oriented language, Java is a plausible basis for a scientific parallel programming language. We outline a conservative set of language extensions to support this kind of programming. The programming style advocated is Single Program Multiple Data (SPMD), with parallel arrays added as language primitives. Communications involving distributed arrays are handled through a standard library of collective operations. Because the underlying programming model is SPMD programming, direct calls to other communication packages are also possible from this language.
Technologies For Ubiquitous Supercomputing: A Java Interface To The Nexus Communication System, Ian Foster, George K. Thiruvathukal, Steven Tuecke
Technologies For Ubiquitous Supercomputing: A Java Interface To The Nexus Communication System, Ian Foster, George K. Thiruvathukal, Steven Tuecke
Computer Science: Faculty Publications and Other Works
We use the term ubiquitous supercomputing to refer to systems that integrate low- and mid-range computing systems, advanced networks and remote high-end computers with the goal of enhancing the computational power accessible from local environments. Such systems promise to enable new applications in areas as diverse as smart instruments and collaborative environments. However, they also demand tools for transporting code between computers and for establishing flexible, dynamic communication structures. In this article, we propose that these requirements be satisfied by introducing Java classes that implement the global pointer and remote service request mechanisms defined by a communication library called Nexus. …
Experiments With "Hp Java", Bryan Carpenter, Yuh-Jye Chang, Geoffrey C. Fox, Donald Leskiw
Experiments With "Hp Java", Bryan Carpenter, Yuh-Jye Chang, Geoffrey C. Fox, Donald Leskiw
Northeast Parallel Architecture Center
We consider the possible role of Java as a language for High Performance Computing. After discussing reasons why Java may be a natural candidate for a portable parallel programming language, we describe several case studies. These cover Java socket programming, message-passing through a Java interface to MPI, and class libraries for data-parallel programming in Java.
Mpj: A Proposed Java Message Passing Api And Environment For High Performance Computing, Mark Baker, Bryan Carpenter
Mpj: A Proposed Java Message Passing Api And Environment For High Performance Computing, Mark Baker, Bryan Carpenter
Northeast Parallel Architecture Center
In this paper we sketch out a proposed reference implementation for message passing in Java (MPJ), an MPI-like API from the Message-Passing Working Group of the Java Grande Forum [1,2]. The proposal relies heavily on RMI and Jini for finding computational resources, creating slave processes, and handling failures. User-level communication is implemented efficiently directly on top of Java sockets.