
NSF Org: |
CNS Division Of Computer and Network Systems |
Recipient: |
|
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: |
|
History of Investigator: |
|
Recipient Sponsored Research Office: |
160 ALDRICH HALL IRVINE CA US 92697-0001 (949)824-7295 |
Sponsor Congressional District: |
|
Primary Place of Performance: |
5224 Bren Hall Irvine CA US 92617-3213 |
Primary Place of
Performance Congressional District: |
|
Unique Entity Identifier (UEI): |
|
Parent UEI: |
|
NSF Program(s): | CCRI-CISE Cmnty Rsrch Infrstrc |
Primary Program Source: |
|
Program Reference Code(s): |
|
Program Element Code(s): |
|
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.
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.