Mining Program Source Code for Improving Software Quality

Abstract

While the last decade has witnessed great advances in assuring high software quality through static verification against software hazards and unexpected behavior, the field has pretty much focused on statically verifying software applications against common properties to detect common programming problems such as incorrect usage of memory pointers. But most quality issues such as correctness, security, and robustness violations are caused by the incorrect usage of application programming interfaces (APIs). Although API properties or behaviors can be formally specified and statically verified against software applications by the current state-of-the-art static verification tools, these API properties or behaviors are often not documented by the developers, partly due to two major hindrances in practice: manually specifying a large number of properties or behaviors for static verification is often (1) inaccurate or incomplete, and (2) cumbersome and prohibitively expensive. This project develops new approaches that mine program source code for API properties, which are used to conduct static verification on the software application under analysis to detect defects around APIs.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jan 01, 2013
Accession Number
ADA581476

Entities

People

  • Tao Xie

Organizations

  • North Carolina State University

Tags

Communities of Interest

  • Human Systems

DTIC Thesaurus Topics

  • Application Software
  • Computational Science
  • Computer Programming
  • Computer Programs
  • Computers
  • Data Mining
  • Debugging
  • Engineering
  • Language
  • Natural Languages
  • Object Oriented Programming
  • Software Development
  • Software Testing
  • Students
  • Test And Evaluation
  • Text Mining
  • Web Applications

Fields of Study

  • Computer science
  • Engineering

Readers

  • Database Systems and Applications
  • Software Engineering.
  • Systems Analysis and Design