Award Abstract # 1823227
CRI: CI-New: Collaborative Research: NJR: A Normalized Java Resource

NSF Org: CNS
Division Of Computer and Network Systems
Recipient: UNIVERSITY OF CALIFORNIA IRVINE
Initial Amendment Date: August 7, 2018
Latest Amendment Date: August 7, 2018
Award Number: 1823227
Award Instrument: Standard Grant
Program Manager: Sol Greenspan
sgreensp@nsf.gov
 (703)292-7841
CNS
 Division Of Computer and Network Systems
CSE
 Directorate for Computer and Information Science and Engineering
Start Date: August 15, 2018
End Date: July 31, 2022 (Estimated)
Total Intended Award Amount: $500,000.00
Total Awarded Amount to Date: $500,000.00
Funds Obligated to Date: FY 2018 = $500,000.00
History of Investigator:
  • Cristina Lopes (Principal Investigator)
    lopes@ics.uci.edu
Recipient Sponsored Research Office: University of California-Irvine
160 ALDRICH HALL
IRVINE
CA  US  92697-0001
(949)824-7295
Sponsor Congressional District: 47
Primary Place of Performance: University of California-Irvine
5224 Bren Hall
Irvine
CA  US  92617-3213
Primary Place of Performance
Congressional District:
47
Unique Entity Identifier (UEI): MJC5FCYQTPE6
Parent UEI: MJC5FCYQTPE6
NSF Program(s): CCRI-CISE Cmnty Rsrch Infrstrc
Primary Program Source: 01001819DB NSF RESEARCH & RELATED ACTIVIT
Program Reference Code(s): 9102, 7359
Program Element Code(s): 735900
Award Agency Code: 4900
Fund Agency Code: 4900
Assistance Listing Number(s): 47.070

ABSTRACT

Research in programming languages and software engineering has increasingly become a "big data" science ("Big Code") is which researchers want to use large code bases to experiment with new techniques. Specifically, Big Code will enable novel tools in areas such as security enhancers, bug finders, and code synthesizers. This project will build a community resource of 100,000 executable Java programs together with a set of working tools and an environment for conducting such research. This Normalized Java Resource (NJR) will lower the barrier to implementation of new tools, speed up research, and ultimately help advance research frontiers. Additionally, NJR can be the foundation of new courses on software tools that take advantage of Big Code. Finally, NJR can be the centerpiece of a discussion about better benchmark suites in general. The two investigators will work with collaborators from five countries.

Researchers get significant advantages from using NJR. They can write scripts that base their new tool on NJR's already-working tools, and they can search NJR for programs with desired characteristics. They will receive the search result as a container that they can run either locally or on a cloud service. Additionally, they benefit from NJR's normalized representation of each Java program, which enables scalable running of tools on the entire collection. Finally, they will find that NJR's collection of programs is diverse because of the investigators' efforts to run clone detection and near-duplicate removal.

This award reflects NSF's statutory mission and has been deemed worthy of support through evaluation using the Foundation's intellectual merit and broader impacts review criteria.

PUBLICATIONS PRODUCED AS A RESULT OF THIS RESEARCH

Note:  When clicking on a Digital Object Identifier (DOI) number, you will be taken to an external site maintained by the publisher. Some full text articles may not yet be available without a charge during the embargo (administrative interval).

Some links on this page may take you to non-federal websites. Their policies may differ from this site.

Farima Farmahinifarahani, Yadong Lu "D-REX: Static Detection of Relevant Runtime Exceptions with Location Aware Transformer" 2021 IEEE 21st International Working Conference on Source Code Analysis and Manipulation , 2021 Citation Details

PROJECT OUTCOMES REPORT

Disclaimer

This Project Outcomes Report for the General Public is displayed verbatim as submitted by the Principal Investigator (PI) for this award. Any opinions, findings, and conclusions or recommendations expressed in this Report are those of the PI and do not necessarily reflect the views of the National Science Foundation; NSF has not approved or endorsed its content.

Overview: This project aimed to provide a large collection of executable Java programs, called the Normalized Java Resource (NJR), together with a set of working tools and an environment for building new tools. The NJR was created to enable researchers to search for Java programs with desired characteristics and write scripts that base their new tool on the working tools provided. The project aimed to normalize the representation of each Java program and ensure diversity by removing near-duplicates through clone detection. The NJR was designed to lower the barrier to implementation of new tools, speed up research, and ultimately help advance CISE research frontiers.

Intellectual Merit: The project successfully delivered an infrastructure consisting of 100,000 executable Java programs, along with a set of working tools and an environment for building new tools. The NJR enabled scalable processing by normalizing the representation of each Java program, making it easy to run a tool on the entire collection. Additionally, the NJR ensured diversity by removing near-duplicates through clone detection. 

Broader Impacts: The Normalized Java Resource has significant broader impacts on society, as software plays an important role in our daily lives, and a lot of software is already written in Java. The NJR will be a cornerstone of the CISE-related efforts that will provide better tools to Java programmers everywhere. Additionally, the NJR can be the foundation of new courses on software tools that take advantage of Big Code. The Normalized Java Resource can also be the centerpiece of a discussion about better benchmark suites in general. The project involved several PhD and Master students.

 


Last Modified: 03/21/2023
Modified by: Cristina V Lopes

Please report errors in award information by writing to: awardsearch@nsf.gov.

Print this page

Back to Top of page