DocumentCode :
1383674
Title :
Separate computation of alias information for reuse
Author :
Harrold, Mary Jean ; Rothermel, Gregg
Author_Institution :
Dept. of Comput. & Inf. Sci., Ohio State Univ., Columbus, OH, USA
Volume :
22
Issue :
7
fYear :
1996
fDate :
7/1/1996 12:00:00 AM
Firstpage :
442
Lastpage :
460
Abstract :
Interprocedural data flow information is useful for many software testing and analysis techniques, including data flow testing, regression testing, program slicing and impact analysis. For programs with aliases, these testing and analysis techniques can yield invalid results, unless the data flow information accounts for aliasing effects. Recent research provides algorithms for performing interprocedural data flow analysis in the presence of aliases; however, these algorithms are expensive, and achieve precise results only on complete programs. This paper presents an algorithm for performing alias analysis on incomplete programs that lets individual software components such as library routines, subroutines or subsystems be independently analyzed. The paper also presents an algorithm for reusing the results of this separate analysis when the individual software components are linked with calling modules. Our algorithms let us analyze frequently used software components, such as library routines or classes, independently, and reuse the results of that analysis when analyzing calling programs, without incurring the expense of completely reanalyzing each calling program. Our algorithms also provide a way to analyze large systems incrementally
Keywords :
data flow analysis; program diagnostics; program testing; software libraries; software reusability; subroutines; alias information; aliasing; analysis results reuse; calling modules; classes; data flow testing; frequently used software components; impact analysis; incomplete programs; incremental analysis; independently analyzed software components; interprocedural data flow analysis; invalid results; library routines; pointers; program slicing; regression testing; separate computation; software analysis techniques; software testing; static analysis; subroutines; subsystems; Algorithm design and analysis; Computer Society; Data analysis; Data flow computing; Independent component analysis; Information analysis; Performance analysis; Software algorithms; Software libraries; Software testing;
fLanguage :
English
Journal_Title :
Software Engineering, IEEE Transactions on
Publisher :
ieee
ISSN :
0098-5589
Type :
jour
DOI :
10.1109/32.538603
Filename :
538603
Link To Document :
بازگشت