• DocumentCode
    769481
  • Title

    Design and implementation of a fine-grained software inspection tool

  • Author

    Anderson, Paul ; Reps, Thomas ; Teitelbaum, Tim

  • Author_Institution
    GrammaTech Inc., Ithaca, NY, USA
  • Volume
    29
  • Issue
    8
  • fYear
    2003
  • Firstpage
    721
  • Lastpage
    733
  • Abstract
    Although software inspection has led to improvements in software quality, many software systems continue to be deployed with unacceptable numbers of errors, even when software inspection is part of the development process. The difficulty of manually verifying that the software under inspection conforms to the rules is partly to blame. We describe the design and implementation of a tool designed to help alleviate this problem. The tool provides mechanisms for fine-grained inspection of software by exposing the results of sophisticated whole-program static analysis to the inspector. The tool computes many static-semantic representations of the program, including an accurate call graph and dependence graph. A whole-program pointer analysis is used to make sure that the representation is precise with respect to aliases induced by pointer usage. Views on the dependence graph and related representations are supported. Queries on the dependence graph allow an inspector to answer detailed questions about the semantics of the program. Facilities for openness and extensibility permit the tool to be integrated with many software development processes. The main challenge of the approach is to provide facilities to navigate and manage the enormous complexity of the dependence graph.
  • Keywords
    data flow graphs; inspection; program slicing; program verification; software metrics; software quality; software tools; call graph; dependence graph; fine-grained software inspection tool; program chopping; program pointer analysis; program slicing; program static analysis; program understanding; software complexity; software model checking; software quality; static-semantic representation; Best practices; Filters; Inspection; NASA; Navigation; Performance analysis; Software engineering; Software quality; Software systems; Software tools;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/TSE.2003.1223646
  • Filename
    1223646