Efficient relational calculation for software analysis

被引:44
作者
Beyer, D [1 ]
Noack, A
Lewerentz, C
机构
[1] Univ Calif Berkeley, Dept Elect Engn & Comp Sci, Berkeley, CA 94720 USA
[2] Brandenburg Tech Univ Cottbus, Software Syst Engn Res Grp, D-03013 Cottbus, Germany
基金
新加坡国家研究基金会;
关键词
logic programming; graph algorithms; data structures; reverse engineering; reengineering;
D O I
10.1109/TSE.2005.23
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Calculating with graphs and relations has many applications in the analysis of software systems, for example, the detection of design patterns or patterns of problematic design and the computation of design metrics. These applications require an expressive query language, in particular, for the detection of graph patterns, and an efficient evaluation of the queries even for large graphs. In this paper, we introduce RML, a simple language for querying and manipulating relations based on predicate calculus, and CrocoPat, an interpreter for RML programs. RML is general because it enables the manipulation not only of graphs (i.e., binary relations), but of relations of arbitrary arity. CrocoPat executes RML programs efficiently because it internally represents relations as binary decision diagrams, a data structure that is well-known as a compact representation of large relations in computer-aided verification. We evaluate RML by giving example programs for several software analyses and CrocoPat by comparing its performance with calculators for binary relations, a Prolog system, and a relational database management system.
引用
收藏
页码:137 / 149
页数:13
相关论文
共 54 条
[1]  
Aho A., 1979, P ACM S PRINCIPLES P, P110
[2]  
[Anonymous], 1992, ACM Computing Surveys (CSUR), DOI DOI 10.1145/136035.136043
[3]  
[Anonymous], 1979, Computers and Intractablity: A Guide to the Theoryof NP-Completeness
[4]  
*ANSI ISO IEC, 1999, 90751999 ANSIISOIE 2
[5]   Design pattern recovery in object-oriented software [J].
Antoniol, G ;
Fiutem, R ;
Cristoforetti, L .
6TH INTERNATIONAL WORKSHOP ON PROGRAM COMPREHENSION (IWPC 98) - PROCEEDINGS, 1998, :153-160
[6]  
Aziz A, 1994, P 31 DES AUT C, P283, DOI 10.1145/196244.196379
[7]  
BERGHAMMER R, 2002, P 6 INT C REL METH C, P241
[8]   CIRCUIT WIDTH, REGISTER ALLOCATION, AND ORDERED BINARY DECISION DIAGRAMS [J].
BERMAN, CL .
IEEE TRANSACTIONS ON COMPUTER-AIDED DESIGN OF INTEGRATED CIRCUITS AND SYSTEMS, 1991, 10 (08) :1059-1066
[9]  
BERNDL M, 2003, P ACM SIGPLAN 2003 C, P103
[10]  
BEYER D, 2004, UCBCSD041338 EECS CO