使用fca检测软件模式

上传人:第*** 文档编号:35815034 上传时间:2018-03-20 格式:PDF 页数:76 大小:659.64KB
返回 下载 相关 举报
使用fca检测软件模式_第1页
第1页 / 共76页
使用fca检测软件模式_第2页
第2页 / 共76页
使用fca检测软件模式_第3页
第3页 / 共76页
使用fca检测软件模式_第4页
第4页 / 共76页
使用fca检测软件模式_第5页
第5页 / 共76页
点击查看更多>>
资源描述

《使用fca检测软件模式》由会员分享,可在线阅读,更多相关《使用fca检测软件模式(76页珍藏版)》请在金锄头文库上搜索。

1、Detecting Software Patterns using Formal Concept AnalysisDiplomarbeitder Philosophisch-naturwissenschaftlichen Fakult at der Universit at Bernvorgelegt vonFrank BuchliSeptember 2003Leiter der Arbeit:Prof. Dr. Oscar Nierstrasz Gabriela Ar evaloInstitut f ur Informatik und angewandte MathematikFurther

2、 information about this work, the used tools and an online version of this document can be found at: http:/www.iam.unibe.ch/scg/The address of the author:Frank Buchli Benedikt Hugistrasse 13 CH-4500 Solothurn frnk.buchli.org http:/www.buchli.org/frankorSoftware Composition Group University of Bern I

3、nstitute of Computer Science and Applied Mathematics Neubr uckstrasse 10 CH-3012 Bern http:/www.iam.unibe.ch/scg/AbstractRedocumentation and design recovery are two important areas of reverse engineering. De- tection of recurring organizations of classes and communicating objects, called Software Pa

4、tterns, supports this process. Many approaches to detect Software Patterns have been published in the past years.Most of these approaches need a pattern library as reference. Personal coding style anddomain specific requirements lead to creating new patterns or adapting existing ones and make those

5、approaches fail. The second problem is that the found patterns of those methods are presented without connection to the other patterns. To gain an overview of the whole system and its mechanisms, we propose to set the patterns in relation each other.Our work shows a method to detect Software Pattern

6、s using Formal Concept Analysis (FCA). The advantage of this approach is that no reference library is needed and the re- sults are set in relation each other.FCA is a mathematical theory which detects the presence of groups of classes which in- stantiate a common, repeated pattern. Those found patte

7、rns are presented in a lattice, a partial order relation among the patterns, which allows us to explore the pattern which are in relation to them.We implemented a prototype tool ConAn PaDi which navigates with the Fish Eye View technique over the patterns. For validation we applied this tool to thre

8、e mid-sized Smalltalk applications.iAcknowledgmentsIt was a great opportunity what the Software Composition Group of Prof. Dr. Oscar Nier-strasz was offering me: I could write a master thesis in the field I was most interested in: software engineering. It was extremely interesting for me to live in

9、this world of academic research. I got introduced in the world of papers, citations, conferences, etc.I want to thank the people of this group. First of all my supervisor Gabriela Ar evalo, she helped me whenever I needed her assistance. It was a pleasure for me to develop with her the ConAn framewo

10、rk. Oscar Nierstrasz, St ephane Ducasse, Roel Wuyts, Michele Lanza took their time and helped me with their great knowledge, thanks a lot.Thanks to all the students from the pool for not let me suffering alone. Special thanks to Tobias Aebi and Daniele Talerico for sharing so many ideas, problems an

11、d solutions.Thanks goes as well to my family which made all this possible. Without their continuous support and advise I would never be where I am now.Last but not least, I want to thank Tinka, my love. Thank for being patient and accepting my time consuming commitment for AIESEC, I had beside my st

12、udies.Finally, I want to share to the reader one statement that came in this work true for me once more:The more you give, the more you get.Frank Buchli, September 2003iiContentsAbstractiAcknowledgmentsii1Introduction11.1Software Patterns in Reverse Engineering . . . . . . . . . . . . . . . . . .11.

13、2Formal Concept Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . .11.3Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21.4Organization of the Document . . . . . . . . . . . . . . . . . . . . . . . .22Problems with Detecting Software Patterns42.1Introduction

14、 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42.2Object-Oriented Reverse Engineering. . . . . . . . . . . . . . . . . . . .42.3Design Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72.4Software Patterns . . . . . . . . . . . . . . . . . . . . . . . . .

15、 . . . . . .72.5Scope: Detecting Software Patterns. . . . . . . . . . . . . . . . . . . . .83Software Engineering with FCA103.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .103.2Formal Concept Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . .103.2.1Cont

16、ext and Concepts. . . . . . . . . . . . . . . . . . . . . . . .103.2.2Concept Lattice . . . . . . . . . . . . . . . . . . . . . . . . . . . .123.2.3Algorithms to Build the Concepts . . . . . . . . . . . . . . . . . .153.3FCA Applied in Software Engineering . . . . . . . . . . . . . . . . . . . .194Detecting Software Patterns with FCA21iiiivCONTENTS4.1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .214.2Overview of the Approach . . . . . . . . . . . .

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 其它办公文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号