|
- 2017
一种多阶段交互式线索驱动的设计模式识别方法
|
Abstract:
摘要 针对传统设计模式自动检测不够精确及不易于扩展的问题,为提高设计模式实例恢复的精确性,提出一种多阶段交互式线索驱动的设计模式识别方法。在传统基于约束满足问题(CSP)的设计模式检测思想基础上引入了线索的思想,旨在经过调研对专家经验知识进行反馈,并将筛选后有价值的线索表示为CSP形式的信息,进而依据信息特征将线索分类,通过在设计模式检测过程中逐步增加线索,直至设计模式实例候选参与者集产生。实验结果表明,本文方法不仅分阶段筛选了设计模式检测实例的假阴性与假阳性结果,还解决了设计模式识别的重叠问题,通过与其他主流检测方法的F-score指标值对比,取得了较好的检测效果。
Abstract:Aimed at inaccuracy and difficulty to extend the traditional design pattern automatic detection method, and in order to improve the accuracy of the design pattern instance recovery, an interactive clue-driven approach for design pattern detection was presented. Concept of clue was introduced based on the constraint satisfaction problem (CSP) of traditional design pattern detection, and expert experience feedback mechanism was proposed by investigation. The significant clues were converted into the information based on CSP in the refining stage, the clues were classified by information characteristics, and the clues were added in design pattern detection process until the candidate sets of design pattern instance were produced. Experimental results show that the proposed method can gradually reduce the false negative results and the false positive results of design pattern detection instance, and further more, the novel method can solve design pattern overlap problem. Compared to the F-score index of other well-known algorithms, the proposed method shows better detection effect.
[1] | ZHANG C,BUDGEN D.What do we know about the effectiveness of software design patterns?[J].IEEE Transactions on Software Engineering,2012,38(5):1213-1231. |
[2] | AMPATZOGLOU A,CHARALAMPIDOU S,STAMELOS I.Research state of the art on GoF design patterns:A mapping study[J].Journal of Systems and Software,2013,86(7):1945-1964. |
[3] | FONTANA F A,MAGGIONI S,RAIBULET C.Design patterns:A survey on their micro-structures[J].Journal of Software:Evolution and Process,2013,25(1):27-52. |
[4] | FONTANA F A,MAGGIONI S,RAIBULET C.Understanding the relevance of micro-structures for design patterns detection[J].Journal of Systems and Software,2011,84(12):2334-2347. |
[5] | ZANONI M,FONTANA F A,STELLA F.On applying machine learning techniques for design pattern detection[J].Journal of Systems and Software,2015,88(5):102-117. |
[6] | YU D,ZHANG Y,CHEN Z.A comprehensive approach to the recovery of design pattern instances based on sub-patterns and method signatures[J].Journal of Systems and Software,2015,88(5):1-16. |
[7] | DONG J,ZHAO J,SUN Y.A matrix based approach to recovering design patterns[J].IEEE Transactions on Systems,Man and Cybernatics,2009,39(6):1271-1282. |
[8] | 肖卓宇,何锫,余波,等.基于FCA与CBR的设计模式检测[J].山东大学学报(工学版),2016,46(2):22-28.XIAO Z Y,HE P,YU B,et al.Design patterns detection based on FCA and CBR[J].Journal of Shandong University (Engineering Science),2016,46(2):22-28(in Chinese). |
[9] | CHIHADA A,JALILI S,HASHEMINEJAD S M H,et al.Source code and design conformance,design pattern detection from source code by classification approach[J].Applied Soft Computing,2015,26(1):357-367. |
[10] | YU D,ZHANG Y,GE J,et al.From sub-patterns to patterns:An approach to the detection of structural design pattern instances by subgraph mining and merging[C]//2013 IEEE 37th Annual Computer Software and Applications Conference (COMPSAC).Piscataway,NJ:IEEE Press,2013:579-588. |
[11] | BERNARDI M L,CIMITILE M,DI LUCCA G.Design pattern detection using a DSL-driven graph matching approach[J].Journal of Software:Evolution and Process,2014,26(12):1233-1266. |
[12] | SABO M,PORUB?N J.Preserving design patterns using source code annotations[J].Journal of Computer Science and Control Systems,2009,32(2):53-56. |
[13] | RASOOL G,PHILIPPOW I,MADER P.Design pattern recovery based on annotations[J].International Journal of Advances in Engineering Software,2010,41(4):519-526. |
[14] | RASOOL G,M?DER P.A customizable approach to design patterns recognition based on feature types[J].Arabian Journal for Science and Engineering,2014,39(12):8851-8873. |
[15] | GARLAN D,MONROE R,WILE D.ACME:An architecture description interchange language[C]//CASCON'97 Proceedings of the 1997 Conference of the Centre for Advanced Studies on Collaborative Research,2010:159-173. |
[16] | GUéHéNEUC Y G,ANTONIOL G.DeMIMA:A multilayered approach for design pattern identification[J].IEEE Transactions on Software Engineering,2008,34(5):667-684. |
[17] | PETTERSON N,L?WE W,NIVRE J.Evaluation of accuracy in design pattern occurrence detection[J].IEEE Transactions on Software Engineering,2010,36(4):575-590. |
[18] | 肖卓宇,何锫,黎妍.基于设计模式角色的附加关系检测研究[J].计算机应用研究,2015,32(7):2042-2045.XIAO Z Y,HE P,LI Y.Study on the additional relationships based on design pattens's roles[J].Application Research of Computers,2015,32(7):2042-2045(in Chinese). |
[19] | GUéHéNEUC Y G,GUYOMARC'H J Y,SAHRAOUI H.Improving design-pattern identification:A new approach and an exploratory study[J].Software Quality Journal,2010,18(1):145-174. |
[20] | KITCHENHAM B A,PFLEEGER S L,PICKARD L M,et al.Preliminary guidelines for empirical research in software engineering[J].IEEE Transactions on Software Engineering,2002,28(8):721-734. |
[21] | MERA S,BJ?RNER N.DKAL and Z3:A logic embedding experiment[M]//BLASS A, DERSHOWITZ N, REISIG W.Fields of logic and computation.Berlin:Springer,2010:504-528. |
[22] | SCANNIELLO G,GRAVINO C,RISI M,et al.Documenting design-pattern instances:A family of experiments on source-code comprehensibility[J].ACM Transactions on Software Engineering and Methodology,2015,24(3):1-41. |
[23] | AMPATZOGLOU A,FRANTZESKOU G,STAMELOS I.A methodology to assess the impact of design patterns on software quality[J].Information and Software Technology,2012,54(4):331-346. |