• DocumentCode
    1398404
  • Title

    Analysis and testing of programs with exception handling constructs

  • Author

    Sinha, Saurabh ; Harrold, Mary Jean

  • Author_Institution
    Coll. of Comput., Georgia Inst. of Technol., Atlanta, GA, USA
  • Volume
    26
  • Issue
    9
  • fYear
    2000
  • fDate
    9/1/2000 12:00:00 AM
  • Firstpage
    849
  • Lastpage
    871
  • Abstract
    Analysis techniques, such as control flow, data flow, and control dependence, are used for a variety of software engineering tasks, including structural and regression testing, dynamic execution profiling, static and dynamic slicing, and program understanding. To be applicable to programs in languages such as Java and C++, these analysis techniques must account for the effects of exception occurrences and exception handling constructs; failure to do so can cause the analysis techniques to compute incorrect results and, thus, limit the usefulness of the applications that use them. This paper discusses the effects of exception handling constructs on several analysis techniques. The paper presents techniques to construct representations for programs with explicit exception occurrences-exceptions that are raised explicitly through throw statements-and exception handling constructs. The paper presents algorithms that use these representations to perform the desired analyses. The paper also discusses several software engineering applications that use these analyses. Finally, the paper describes empirical results pertaining to the occurrence of exception handling constructs in Java programs and their effect on some analysis tasks
  • Keywords
    C++ language; Java; data flow analysis; exception handling; object-oriented programming; program slicing; program testing; software engineering; C++; Java; control dependence analysis; control flow analysis; data flow analysis; exception handling constructs; program analysis; program testing; software engineering; throw statements; Cause effect analysis; Computer Society; Data analysis; Failure analysis; Frequency; Information analysis; Java; Performance analysis; Software engineering; Software testing;
  • fLanguage
    English
  • Journal_Title
    Software Engineering, IEEE Transactions on
  • Publisher
    ieee
  • ISSN
    0098-5589
  • Type

    jour

  • DOI
    10.1109/32.877846
  • Filename
    877846