| Combined static and dynamic analysis for inferring program dependencies using a pattern language |
| Full text |
Html
(2 KB),
Pdf
(225 KB)
|
| Source
|
IBM Centre for Advanced Studies Conference
archive
Proceedings of the 2006 conference of the Center for Advanced Studies on Collaborative research
table of contents
Toronto, Ontario, Canada
SESSION: Program comprehension
table of contents
Article No. 3
Year of Publication: 2006
|
|
Authors
|
|
| Sponsors |
|
| Publisher |
|
| Bibliometrics |
Downloads (6 Weeks): 11, Downloads (12 Months): 65, Citation Count: 0
|
|
|
ABSTRACT
One of the challenges when examining enterprise applications is the ability to understand the dependencies of these applications on external and internal resources such as database access or transaction activation. Inferring dependencies can be achieved using a static approach, a dynamic one or a combination of the two. Static analysis tools detect dependencies based on code investigation while dynamic tools detect dependencies based on runtime execution. The combination of these two approaches is essential for a complete and precise analysis. In this paper we present and illustrate a technique for inferring application dependencies on resources. The technique is based on a combined dynamic and static analysis. A pattern language is defined to enable the specification of dependencies as sequences of method invocations in the application code. Specifically, the sequences are patterns that constitute access to resources, e.g. databases, message queues, and control systems. We propose an algorithm for inferring application dependencies based on hybrid dynamic and static analysis that propagates information provided by dynamic analysis into the static analysis and back to the dynamic analysis. Empirical results from our implemented prototype are presented.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
 |
1
|
|
| |
2
|
L. O. Andersen. Program Analysis and Specialization for the C Programming Language. PhD thesis, DIKU, Univ. of Copenhagen, May 1994.
|
 |
3
|
|
 |
4
|
David Callahan , Keith D. Cooper , Ken Kennedy , Linda Torczon, Interprocedural constant propagation, Proceedings of the 1986 SIGPLAN symposium on Compiler construction, p.152-161, June 25-27, 1986, Palo Alto, California, United States
|
| |
5
|
CAST. CAST Application Intelligence Platform. 'http://www.castsoftware.com/".
|
 |
6
|
Nurit Dor , Stephen Adams , Manuvir Das , Zhe Yang, Software validation via scalable path-sensitive value flow analysis, Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis, July 11-14, 2004, Boston, Massachusetts, USA
|
| |
7
|
Eclipse Foundation. The Eclipse Test and Performance Tools Platform. "http://www.eclipse.org/tptp/".
|
| |
8
|
|
 |
9
|
|
| |
10
|
M. Ernst. Static and dynamic analysis: synergy and duality. In Workshop on Dynamic Analysis (WODA), 2003.
|
 |
11
|
|
 |
12
|
Stephen Fink , Eran Yahav , Nurit Dor , G. Ramalingam , Emmanuel Geay, Effective typestate verification in the presence of aliasing, Proceedings of the 2006 international symposium on Software testing and analysis, July 17-20, 2006, Portland, Maine, USA
[doi> 10.1145/1146238.1146254]
|
| |
13
|
HAL Knowledge Solutions. HAL. "http://www.halks.com/".
|
| |
14
|
D. Heuzeroth, S. Mandel, and W. Löwe. Generating design pattern detectors from pattern specifications. In Int. Conf. on Automated Softw. Eng., pages 245--248, 2003.
|
| |
15
|
IBM Software. IBM CICS Interdependency Analyzer. "http://www-306.ibm.com/software/htp/cics/ianaly/".
|
| |
16
|
IBM Software. IBM Tivoli Monitoring for Transaction Performance. "http://www-306.ibm.com/software/tivoli/products/monitortransaction/"
|
| |
17
|
IBM Software. Websphere Studio Application Monitor. "http://www-306.ibm.com/software/awdtools/studioapplicationmonitor/".
|
| |
18
|
IBM Software. Websphere Studio Asset Analyzer. "http://www-306.ibm.com/software/awdtools/wsaa/".
|
| |
19
|
IBM Watson Research Center. DOMO. "http://www.research.ibm.com/patrans/".
|
 |
20
|
|
 |
21
|
|
| |
22
|
Mercury. Mercury Application Mapping. "http://www.mercury.com/us/products/businessavailability-center/application mapping/".
|
 |
23
|
|
 |
24
|
|
| |
25
|
|
| |
26
|
|
| |
27
|
SUN Microsystems. Java Pet Store. http://java.sun.com/developer/releases/petstore/".
|
| |
28
|
L. Wendehals. Improving design pattern instance recognition by dynamic analysis. In ICSE Workshop on Dynamic Analysis (WODA), pages 29--33, 2003.
|
 |
29
|
|
|