The Internet has been a significant force in propelling a strong U.S. economy for the last decade by enabling e-commerce and increasing industrial productivity. The Internet technologies (Java, Active Server Pages, Web scripting languages, etc.) that have enabled this boom are used in a manner that is quite different from more traditional technologies. They are highly dynamic and interpretive, and programs often involve concurrency. However, the software tools used to construct these systems, and to reason about their behavior generally do not provide capabilities for effectively dealing with highly dynamic, concurrent systems of this kind. This leads to systems that have software faults, security vulnerabilities, or are simply inefficient. The resultant system crashes, security breaches, poor performance, and general lack of business confidence about security and privacy on the web can have a significant impact on the overall U.S. economy. Given the extra complexity found in dynamic and concurrent systems, the need for better software tools is critical.
Under an NSF SBIR Phase I grant, GrammaTech is studying how GrammaTech's dependence-graph technology can be adapted and applied to highly dynamic internet technologies such as Java, JavaScript, and ASP. If dependence-graphs can be successfully applied to dependence graphs a new-generation of software development tools will emerge that can deal with the dynamism and concurrancy of internet applications.