Slicing of Aspect-Oriented Programs Based on Reduced Dynamic Dependence Graph *

Similar documents
Big Data and High Performance Computing

Electrical Engineering

Mixed Frequency Allocation Strategy for GSM-R

A Self-Adaptive Low-Voltage Current Mode ASK Demodulator for RFID Tags

SVPWM 三相电压源型逆变器的死区时间效应可能会导致电压损失, 电流波形畸变和转矩脉动. 为了改善电流波形, 减少转矩脉动, 详细分析了死区时间对输出电压的影响, 并提出了 SVPWM A

The Simulation Research of the reamer of the cutter suction. dredger based on ADAMS

GSM/GPRS. By Mendy Ouzillou Silicon Laboratories Inc. Austin, TX GSM 3GPP (GSM) burst current) GSM900 DCS V

Advanced Design System. Release 2005A New Features

ADS for your RF Board Design Flow

Extrapolations from 100 (and 116)

Ecological Characteristics of Information and Its Scientific Research 1

09-Architecture Design 游戏架构设计. Ref cornell

High frequency ratio antenna for RFID tags

Mechatronics Engineering Course Introduction

Fabrication of Schottky Diode in Standard CMOS Process

HETERO JUNCTION FIELD EFFECT TRANSISTOR NE4210M01

Internal Compact Dual-Band Printed Loop Antenna for Mobile Phone Application

FDTD Modeling of Noise in Computer Packages

WiMAX 技术培训系列 ( 一 ) OFDM 物理层技术初探 MCG 赵昕 2006 年 2 月. All rights reserved 2006, Alcatel Shanghai Bell

Ansoft HFSS Antenna Design Kit Design Parameters

A SMALL PASSIVE UHF RFID TAG FOR METALLIC ITEM IDENTIFICATION. Mun Leng Ng, Kin Seong Leong, and Peter H. Cole

1 st 5G Algorithm Competition SCMA

V GG -V TO. rout = Saturation Region I OUT. Vout V SAT V GS V OUT. Sheet 1 of 10. Cascode Current Mirror

Table of Contents. DS177-ZH LUXEON V2 Product Datasheet Lumileds Holding B.V. All rights reserved.

US SEALED SERIES. Structure. Features 特点. Connector M Connector F

Technology. F. Tabatabai, Member, IEEE, H.S. Al-Raweshidy, Senior Member, IEEE. filter, normally do not possess high quality factor at the

Appendix 6-3: HFSS 3D Excitations

Stars Snub Twilight Premiere 明星怠慢 暮光之城 首映式

WiFi 雷达 无所不在的感知 清华大学软件学院

Measuring the performance of Knowledge Transfer from Universities to Industry in China. ZHONG Wei Renmin Univ

How to Write a Quality Technical Paper and Where to Publish within IEEE 如何撰写高质量科技论文以及在 IEEE 进行论文发表

4/17/01. Design Seminar. Agilent EEsof Customer Education and Applications. MESFET Power Amplifier Design: Small Signal Approach

8 English P.20 한국의 P.21 中 文 P.22

ULTRAWIDEBAND (UWB) communications have attracted

Chapter 6 Basics of Digital Audio

微电子技术 纳米技术 人机交互 与人机协同

downloaded from

The audience has given us a lot of positive feedback, some typical ones are listed below:

M030 and M040. Operating Manual Genelec M030 and M040 Active Monitoring Loudspeakers 操作手册

Species identification of sympatric cuckoo nestlings in a multiple-cuckoo system, China

为了满足客户不同的焊接需求需要, 莱丹研发了最新的 HEMTEK ST 焊接导向件, 可应用于厚达 4mm/0.16 英寸材料的焊接

US SERIES CONNECTOR FOR AUTOMOBILES

绘画中的 树 和 ( 或 ) 石头 Tree and/or Stone in Painting

AUTOMATIC Gain Control (AGC) circuits are employed

Chapter 8 Expanding abroad: from emerging markets

BROADBAND INTEGRATED DTV ANTENNA FOR USB DONGLE APPLICATION

DESIGN, SIMULATION, FABRICATION AND TESTING OF IMPROVED HYBRID WIDEBAND MICROSTRIP BALUN CIRCUITS AT 2.4 GHz

项目进展 北斗剖面浮标数据接收共享系统研制 等课题 获国家重点实验室自主研究课题资助

从 新 开始! IEEE 新内容 新服务 新活动

Design of a 1.6-mW LC-tuned VCO for 2.4GHz in 0.18-um RF CMOS technology

Topic 7: Harmonic Balance. ADS 2001 Fundamentals - Sept, 2001 Slide 7-1

R. Dehdasht-Heydari, H. R. Hassani, and A. R. Mallahzadeh

Sheet 1 of 10. Vout. Cgd1. Vin. gm g. gm1. Cascode CMOS Circuit

EMF Safety and Actions in China Telecom

本科专业人才培养计划 机械学科大类分册 华中科技大学教务处 二 O 一五年七月

1 BGJ 型变频调速纵剪线 ( 液压 ) FOB60000 USD/SET. BGJ variable frequency speed regulating slitting line (hydraulic pressure)

Brief Introduction to Degree Program in Control. Science and Engineering (0811)

Common Core State Standard(s) Learning Targets Language Points Assessment Distinguished: Proficient: Apprentice: Novice: 0-70

SPUR REDUCTION TECHNIQUES IN DIRECT DIGITAL SYNTHESIZERS

Pantomimes 圣诞节上演的话剧. Look Behind You! 就在你身后!

INTERNATIONAL STANDARD

RACL Activity Class AC Drawing Watercolor Teacher: Liu, Katie WeChat ID: l_katie22

Combine Chinese Speed and German Precision

ACTIVE and passive imaging at millimeter wavelengths

Fiber 鄄 coupled Diode Laser Flexible Processing Source for Metal Sheet Welding

第 21 届中国国际工业博览会. China International Industry Fair 2019

Elements of Art Principles of Design Colouring/shading Techniques

TEL: voltage is sensed by the isolation amplifier inputs over a low value resistor connected in parallel with the input pins. The analog lineari

中华人民共和国国家计量技术规范 定量包装商品净含量计量检验规则

A Horizontally Polarized Omnidirectional Printed Antenna for WLAN Applications

SMART Manufacturing Technologies - A Chinese Approach to Sustainable Manufacturing-

THE majority of current global positioning satellite (GPS)

经济信息工程学院近五年发表高水平论文一览表

Long-Awaited Film 期待已久的影片

Synchronization Algorithms and VLSI Implementation for DC-OFDM based UWB System

RHT03-SPI Temperature & Humidity Sensor

2012 照明产品手册 北高智科技有限公司. 欲了解更多产品资讯 或访问 青岛电话 南京电话 深圳电话

Qualanod Specifications. Edition 1 st January 年 1 月 1 日版

A Technique for an Array to Generate Circular Polarization with Linearly Polarized Elements

National Standard of the People's Republic of China 中华人民共和国国家标准

CBT/CBT32 Bluetooth Testers

GAMI Newsletter. Foreword. News. News Industry Projects Training Events Contact. News Industry Projects Training Events Contact

Ultrasonic thickness measurement for aluminum alloy irregular surface parts based on spectral analysis

Chinese Neuroinformatics Research and Data Sharing

IEEE 成立于 1884 年, 是全球最大的技术行业协会, 凭借其多样化的出版物 会议 教育论坛和开发标准, 在激励未来几代人进行技术创新方面做出了巨大的贡献, 其数据库产品 IEL

Planar Printed Strip Monopole With a Closely-Coupled Parasitic Shorted Strip for Eight-Band LTE/GSM/UMTS Mobile Phone

Signal Integrity and PCB layout considerations for DDR2-800 Mb/s and DDR3 Memories

A BROADBAND MICROSTRIP ANTENNA ARRAY FOR LMDS APPLICATIONS

MIPI 技术及物理层测试的挑战. 是德科技 (Keysight) 携手 MIPI 联盟和 Synopsys 共同推动 MIPI 技术发展. Page 1

Traveling-Wave Slot Antennas *

英语学科知识与教学能力试题 ( 初级中学 )

Balanced antipodal Vivaldi antenna for wide bandwidth phased arrays

Multi-Channel CMOS Front-End IC for Physiological Signal Acquisition 生理信号采集的多通道 CMOS 模拟前端集成电路设计 张金勇王磊于力

Analog Applications 模拟应用期刊 Journal

中法风险科学与工程实验室 SINO-FRENCH RISK SCIENCE AND ENGINEERING LAB LABORATOIRE SINO-FRANÇAIS DE SCIENCES ET INGÉNIERIE DU RISQUE CONTENTS SOMMAIRE

Design and Optimization of CMOS RF Power Amplifiers

Version:2.0 M1+/M2/M3

MBD for ANSYS Simulation

TEL: the op-amp output would tend to swing to the negative rail (in this case the ground voltage) causing the current to flow. The I PD is

Journey to the West 西游记

Transcription:

ISSN 1673-9418 CODEN JKYTA8 E-mail: fcst@vip.163.com Journal of Frontiers of Computer Science and Technology http://www.ceaj.org 1673-9418/2011/05(03)-0229-09 Tel: +86-10-51616056 DOI: 10.3778/j.issn.1673-9418.2011.03.004 * 张广泉 1,2+, 黄静 1, 章晓芳 1,3, 刘长林 1. 苏州大学计算机科学与技术学院, 江苏苏州 215006 2. 中国科学院软件研究所计算机科学国家重点实验室, 北京 100190 3. 南京大学计算机软件新技术国家重点实验室, 南京 210093 1 Slicing of Aspect-Oriented Programs Based on Reduced Dynamic Dependence Graph * ZHANG Guangquan 1,2+, HUANG Jing 1, ZHANG Xiaofang 1,3, LIU Changlin 1 1. School of Computer Science and Technology, Soochow University, Suzhou, Jiangsu 215006, China 2. State Key Laboratory of Computer Science, Institute of Software, Chinese Academy of Sciences, Beijing 100190, China 3. State Key Laboratory for Novel Software Technology, Nanjing University, Nanjing 210093, China + Corresponding author: E-mail: gqzhang@suda.edu.cn ZHANG Guangquan, HUANG Jing, ZHANG Xiaofang, et al. Slicing of aspect-oriented programs based on reduced dynamic dependence graph. Journal of Frontiers of Computer Science and Technology, 2011, 5(3): 229-237. Abstract: Program slicing is an important technique for program analysis, which has many applications in various fields such as program debugging, testing, maintenance, etc. Aspect-oriented program is a new software development paradigm that enables modular implementation of cross-cutting concerns, and poses difficulties for slicing of aspect-oriented programs. From the two types: static slicing and dynamic slicing, a systematic analysis of the researches on slicing of aspect-oriented programs is conducted, and a dynamic slicing method of aspect-oriented programs based on reduced dynamic dependence graph is proposed, which can reduce the number of nodes and edges of dynamic dependence graph. The generated dynamic slice is accurate that helps people to better understand *The National Natural Science Foundation of China under Grant No. 60973149 ( ); the Open Funds of State Key Laboratory of Computer Science of Chinese Academy of Sciences under Grant No. SYSKF0908 ( ); the Natural Science Foundation of Jiangsu Higher Education Institutions of China under Grant No. 08KJB520010, 09KJB520012 ( ). Received 2010-07, Accepted 2010-09.

230 Journal of Frontiers of Computer Science and Technology 2011, 5(3) aspect-oriented programs. Key words: aspect-oriented program; static slicing; dynamic slicing; reduced dynamic dependence graph 程序切片是一种重要的程序分析技术, 广泛应用于程序的调试 测试与维护等领域 面向方面程序设计作为一种新的软件开发范型, 能够实现横切关注点的模块化, 其特有的语言元素和功能为切片增加了难度 从静态切片和动态切片两种类型, 讨论了面向方面程序切片技术 在此基础上, 提出了一种基于简化动态依赖图的面向方面程序切片方法, 可以减少动态依赖图中节点和边的数量, 生成准确的面向方面程序的动态切片, 从而有助于人们更好地对面向方面程序进行分析和理解 面向方面程序 ; 静态切片 ; 动态切片 ; 简化动态依赖图 A TP311 1 (program slicing) [1], Weiser 1979 [2],,,, (slicing criterion), <s, v>, s, v s,, <s, v>,,,,,,,,,,, : 2 ; 3, ; 4 ; 5 ; 2,,, Kiczales 1997 (aspect-oriented programming, AOP) [3] AOP,,,, (aspect),,,,,, AOP (core concerns) (cross-cutting concerns),

231,, AOP,, ( Java ), ( AspectJ, Java ), 1 AOP Fig.1 The process of AOP 1 AOP, AOP (1) (join point):,, AOP, (2) (pointcut): AOP,, (3) (advice):, (4) (aspect):, (object-oriented programming, OOP), (5) (introduction):, (6) (weaving):, 3, Zhao 2002 [4],,,, 3.1,, <s, v>, s, v s Weiser Zhao, [5 7], Horwitz [8], [9] Braak [10] 2006,, 2010, Ahmad, [11],,,,,, ( ) 3.2 <s,v,i 0 >, s, v s, I 0,,,,,,

232 Journal of Frontiers of Computer Science and Technology 2011, 5(3) Sahu Mohapatra [12] 2007, Zhao,,,, Mohapatra [13] 2008,,,, ( ),, 2, (a) Java, ; (b) AspectJ,, 2, args[0]=4, <1, 2, 3, 13, 14, 15, 4, 5, 6, 7 1, 8 1, 9 1, 7 2, 8 2, 9 2, 7 3, 8 3, 9 3, 7 4, 8 4, 9 4, 7 5, 16, 17, 11>,, 7 1 7, 7 2 7 2, 8 1 8 1, 3 7 while 4 <11, p, 4> ( args[0]=4, 11 p ), 11, ( ), {11, 17, 8, 16, 7, 8, 9, 7, 13, 5, 9, 7, 8, 9, 3, 2, 4, 7, 8, 9, 1, 15, 7, 6, 14},, {11, 17, 8, 16, 7, 9, 13, 5, 3, 2, 4, 1, 15, 6, 14}, 3,, Fig.2 An example of aspect-oriented program 2

233 Fig.3 Dynamic dependence graph for the aspect-oriented program 3,, ( ), 4,,, 4.1,, (reduced dynamic dependence graph),,, DefnNode PredNode, DefnNode, ; PredNode, ReachableNodes, S i,, ( v) S i, S i v, S i ReachableNodes v ReachableNodes, S i v,, S i ;, S i, S i DefnNode,,, PredNode, 2, args[0]=4, <1, 2, 3, 13, 14, 15, 4, 5, 6, 7 1, 8 1, 9 1, 7 2, 8 2, 9 2, 7 3, 8 3, 9 3, 7 4, 8 4, 9 4, 7 5, 16, 17, 11> 4

234 Journal of Frontiers of Computer Science and Technology 2011, 5(3) Fig.4 Reduced dynamic dependence graph for the aspect-oriented program 4, 4 3, 4 7, 3 7 5 4, 7 2 3 4 5 9, 7 2 3 4 5 ReachableNodes {1, 2, 4, 5, 7, 9, 14, 15} 9 ReachableNodes {1, 2, 4, 5, 7, 9, 14, 15} ; 8 3 4 2, 8 3 4 ReachableNodes {1, 2, 4, 5, 6, 7, 8, 9, 14, 15} 8 2 ReachableNodes {1, 2, 4, 5, 6, 7, 8, 9, 14, 15} ;, 9 2 3 4 9 1 4 while, 3, 4 1 ReachableNodes 4.2, v v DefnNode, ReachableNodes, v, Table 1 ReachableNodes set tied to each node in Fig.4 1 4 ReachableNodes ReachableNodes 1 {1} 2 {1, 2} 3 {1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 15, 16, 17} 13 {1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 15, 16, 17} 14 {14} 15 {14, 15} 4 {1, 2, 4, 14, 15} 5 {1, 2, 4, 5, 14, 15} 6 {1, 2, 4, 5, 6, 14, 15} 7 {1, 2, 4, 5, 7, 14, 15} 8 1 {1, 2, 4, 5, 6, 7, 8, 14, 15} 9,7 {1, 2, 4, 5, 7, 9, 14, 15} 8 2 {1, 2, 4, 5, 6, 7, 8, 9, 14, 15} 16 {1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 15, 16, 17} 17 {1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 15, 16, 17} 11 {1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 15, 16, 17}, 4 p, 11 ReachableNodes {1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 15, 16, 17}, 11 p, 1 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 15, 16, 17 Mohapatra [13] 2 p, 11 3 {11, 17, 8, 16,

235 7, 8, 9, 7, 13, 5, 9, 7, 8, 9, 9, 3, 2, 4, 7, 8, 9, 1, 15, 7, 6, 14},, 1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 13, 14, 15, 16, 17,,, 5,, Weiser [2], Ottenstein [14], Horwitz [8],,, Larsen Harrold [15], Zhao [16],, Zhao [4 5],, [9] Braak [10], Ahmad [11],,,,,,,,,, Korel Laski [17], Weiser, Agrawal [18] 4,, Sahu Mohapatra [12], Zhao,,,,,,,,,,,, ReachableNode, Mohapatra [13],,,,,,,,,,,, 6,,

236 Journal of Frontiers of Computer Science and Technology 2011, 5(3),,,,, ReachableNodes,,, References: [1] Li Bixin. Program slicing technique and its applications[m]. Beijing: Science Press, 2006. [2] Weiser M. Program slicing[j]. IEEE Transactions on Software Engineering, 1984, 10(4): 352 357. [3] Kiczales G, Lamping J, Mendhekar A, et al. Aspectoriented programming[c]//lecture Notes in Computer Science 1241: Proceedings of the 11th European Conference on Object-Oriented Programming, 1997: 220 242. [4] Zhao J. Slicing aspect-oriented software[c]//proceedings of the 10th IEEE International Workshop on Program Comprehension, 2002: 251 260. [5] Zhao J, Rinard M. System dependence graph construction for aspect-oriented programs, MIT-LCS-TR-891[R]. Laboratory for Computer Science, MIT, 2003. [6] Zhao J. Data-flow-based unit testing of aspect-oriented programs[c]//proceedings of the 27th Annual IEEE International Conference on Computer Software and Applications, 2003: 188 197. [7] Zhao J. Control-flow analysis and representation of aspectoriented programs[c]//proceedings of the 6th International Conference on Quality Software, 2006: 38 48. [8] Horwitz S, Reps T, Binkley D. Inter-procedural slicing using dependence graphs[j]. ACM Transactions on Programming Languages and Systems, 1990, 12(1): 26 60. [9] Shi Liang. Research on test data automatic generation[d]. Nanjing: Southeast University, 2006. [10] Braak T T. Extending program slicing in aspect-oriented programming with inter-type declarations[c]//proceedings of the 5th Twente Student Conference on IT, 2006. [11] Ahmad S, Ghani A, Sani F, et al. Slicing aspect oriented program using dependence flow graph for maintenance purpose[c]//proceedings of Regional Conference on Knowledge Integration in ICT, 2010: 236 241. [12] Sahu M, Mohapatra D P. A node marking technique for dynamic slicing of aspect-oriented programs[c]//proceedings of the 10th International Conference on Information Technology, 2007: 155 160. [13] Mohapatra D P, Sahu M, Kumar R, et al. Dynamic slicing of aspect-oriented programs[j]. Informatica, 2008, 32(3): 261 274. [14] Ottenstein K J, Ottenstein L M. The program dependence graph in a software development environment[j]. ACM SIGPLAN Notices, 1984, 19(5): 177 184. [15] Larsen L D, Harrold M J. Slicing object-oriented software[c]//proceedings of the 18th International Conference on Software Engineering, 1996: 495 505. [16] Zhao J. Dynamic slicing of object-oriented program, SE-98-119[R]. Information Processing Society of Japan, 1998. [17] Korel B, Laski J. Dynamic program slicing[j]. Information Processing Letters, 1988, 29(3): 155 163. [18] Agrawal H, Horgan J R. Dynamic program slicing[c]//proceedings of the ACM SIGPLAN 1990 Conference on Programming Languages Design and Implementation, 1990, 25(6): 246 256. 附中文参考文献 : [1]. [M]. :, 2006. [9]. [D]. :, 2006.

237 ZHANG Guangquan was born in 1965. He received his Ph.D. degree in Computer Software and Theory from Chongqing University in 1999. Now he is a professor at Soochow University, and the senior member of CCF. His research interests include software architecture, aspect-oriented technology, formal methods and program analysis, etc. (1965 ),,, 1999,, CCF,,, HUANG Jing was born in 1988. She is a master candidate at Soochow University. Her research interests include software testing and aspect-oriented software development, etc. (1988 ),,,,, ZHANG Xiaofang was born in 1980. She received her Ph.D. degree in Computer Software and Theory from Southeast University in 2008. Now she is a lecturer at Soochow University. Her research interests include program analysis and software testing, etc. (1980 ),,, 2008,,, LIU Changlin was born in 1985. He is a master candidate at Soochow University. His research interests include software architecture and aspect-oriented software development, etc. (1985 ),,,,,