Project ID:
RFP-2007-011
Title:
Automation of Source Code Analysis
Summary:
Current techniques for the analysis of source code often rely on static methods, and require significant user interaction. Adaptive or self-learning methods to assist the software engineering process are rare. Examples might include automatically cataloging new classes of error patterns, advising on modularity effectiveness/opportunities, assisting in API creation, and testing. The question is, can we develop new techniques to assess and improve source code development and analysis, with minimal user intervention?
Full Description:
One of the goals of source code analysis is to produce code that is more robust, with fewer bugs. In large systems design, we also seek to analyze how to improve the software engineering process across a variety of dimensions, including, e.g., making the code more modular and secure, improving quality/ease of API creation and testing, and developing test frameworks (for unit and isolation testing).
Many existing tools rely on static analysis of the code. We would like to see the scope and power of these tools extended. For example, to include built-in heuristics that assess resource usage, e.g., "this buffer was always 10 bytes, and someone has tried to insert 11 bytes".
Further, most existing tools are not self-learning, and require significant input/guidance from the user. We would encourage research on tools that reduce required user-interaction, and contain effective methods for self-learning or adaptation. We suspect that the area of general language-processing tools may be of help.
In the end, we invite research that will explore how to increase the effectiveness of tools that analyze source code and help improve the general process of software development/engineering, including but not limited to modularity, security, API's, and testing.
Constraints and other information:
IPR will stay with the University. Cisco expects customary scholarly dissemination of results, and hopes that promising results would be made available to the community without limiting licenses, royalties, or other encumbrances.
Proposal submission:
Please use the link below to submit a proposal for research responding to this RFP. After a preliminary review, we may ask you to revise and resubmit your proposal.
Create/submit a proposal for this RFP 
RFPs may be withdrawn as research proposals are funded, or interest in the specific topic is satisfied. Researchers should plan to submit their proposals as soon as possible. Submissions-to-date are reviewed at the beginning of each quarter (the first business day of: January, April, July, October).
Questions? Contact: research@cisco.com