Open Access. Powered by Scholars. Published by Universities.®

Java

Discipline
Institution
Publication Year
Publication
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 Apr 2007

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 Mar 2007

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 Jul 2006

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 Jun 2006

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 Jan 2005

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 Jan 2000

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 Jan 1999

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 Jan 1998

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 Jan 1998

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 Jan 1998

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 Jun 1997

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 Jan 1997

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 Jan 1987

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.