×

面向对象软件系统中的高结构类耦合分析。 (英语) Zbl 1382.68052号

摘要:理解面向对象(OO)软件系统中类之间的耦合对于各种软件开发和维护活动都很有用。本文提出了一种新的基于网络的方法来分析面向对象软件系统中的高结构类耦合。该方法基于类协作网络的统计健壮结构分析,该类协作网络节点丰富了用于复杂网络分析的软件度量和域依赖度量。为了证明该方法的有用性,我们分析了五个用Java编写的开源大型软件系统。与经常报告的结果相反,所得结果表明,实际软件系统中的高结构类耦合无法用幂律分布精确建模。我们的分析还表明,与松散耦合类相比,高度耦合类的容量和功能更大,并且不倾向于局限于类继承层次结构。最后,在所分析的五分之四的系统中,高度耦合类的传入耦合往往大大高于传出耦合。这意味着OO软件系统中高级耦合的存在宁愿表明大量内部类重用的负面方面,也不愿表示大量内部类聚合的负面方面。

MSC公司:

68甲19 其他编程范式(面向对象、顺序、并发、自动等)
05C82号 小世界图形、复杂网络(图形理论方面)

软件:

PDF格式BibTeX公司 XML格式引用
全文: 内政部

参考文献:

[1] Albert R,Barabási AL(2002)复杂网络的统计力学。《现代物理学评论》74(1):47-97。doi:10.1103/RevModPhys.74.47·Zbl 1205.82086号 ·doi:10.1103/RevModPhys.74.47
[2] Barabasi AL,Albert R(1999),随机网络中尺度的出现。《科学》286(5439):509-512。doi:10.1126/science.286.5439.509·Zbl 1226.05223号 ·doi:10.1126/science.286.5439.509
[3] Baxter G、Frean M、Noble J、Rickerby M、Smith H、Visser M、Melton H、Tempero E(2006)《理解Java软件的形状》。摘自:《面向对象编程系统、语言和应用程序第21届ACM SIGPLAN年会论文集》,OOPSLA’06,第397-412页。美国纽约州纽约市ACM。数字对象标识代码:10.1145/1167473.1167507
[4] Boccaletti S、Latora V、Moreno Y、Chavez M、Hwang D(2006)《复杂网络:结构和动力学》。《物理报告》424(45):175-308。doi:10.1016/j.physrep.2005.10.009·Zbl 1371.82002号 ·doi:10.1016/j.physrep.2005.10.009
[5] Briand LC,Daly JW,Wüst JK(1999)面向对象系统中耦合测量的统一框架。IEEE跨软件工程25(1):91-121·doi:10.1009/32.748920
[6] Brin S,Page L(1998)大型超文本网络搜索引擎的剖析。计算网络ISDN系统30(1-7):107-117·doi:10.1016/S0169-7552(98)00110-X
[7] Chidamber SR,Kemerer CF(1994)面向对象设计的度量套件。IEEE跨软件工程20(6):476-493。数字对象标识代码:10.1109/32.295895·数字对象标识代码:10.1109/32.295895
[8] Clauset A、Shalizi C、Newman M(2009),经验数据中的幂律分布。SIAM版本51(4):661-703。doi:10.1137/07071011·Zbl 1176.62001号 ·doi:10.1137/070710111
[9] Concas G、Marchesi M、Pinna S、Serra N(2007)《大型面向对象软件系统中的幂律》。IEEE Trans Softw工程33(10):687-708·doi:10.1109/TSE.2007.1019
[10] de Moura APS,Lai YC,Motter AE(2003)大型计算机程序中小世界和无标度属性的特征。物理版E 68(1):017102。doi:10.1103/PhysRevE.68.017102·doi:10.1103/PhysRevE.68.017102
[11] Erceg-Hurn DM,Mirosevich VM(2008)《现代稳健统计方法:最大化研究准确性和威力的简单方法》。《美国心理学》63(7):591-601。doi:10.1037/0003-066X.63.7.591·doi:10.1037/0003-066X.63.7.591
[12] Erdös P,Rényi A(1959)关于随机图,I.Publ Math Deb 6:290-297·Zbl 0092.15705号
[13] Freeman LC(1977)基于中间性的一组中心性度量。社会学40:35-41·doi:10.2307/3033543
[14] Hylland-Wood D、Carrington D、Kaplan S(2006)Java软件包、类和方法协作图的无标度特性。技术报告,TR-MS1286,MIND实验室,马里兰大学,College Park,USA
[15] Jenkins S,Kirk SR(2007)《软件体系结构图为复杂网络:一种新的用于衡量稳定性和进化的划分方案》。《信息科学》177:2587-2601。doi:10.1016/j.ins.2007.01.021·doi:10.1016/j.ins.2007.01.021
[16] Kósa B,Balassi M,Englert P,Kiss A(2015)Betweeness vs.linerank。计算机科学信息系统12(1):33-48。doi:10.2298/CSIS11101092K·doi:10.2298/CSIS11101092K
[17] Louridas P、Spinellis D、Vlachos V(2008)《软件中的功率定律》。ACM跨软件工程方法18(1):2:1-2:26·doi:10.145/1391984.1391986
[18] Mann HB,Whitney DR(1947)关于两个随机变量中的一个是否随机大于另一个的测试。数学年鉴18(1):50-60。doi:10.2307/2236101·Zbl 0041.26103号 ·doi:10.2307/2236101
[19] McCabe TJ(1976)复杂性度量。IEEE Trans Softw Eng 2(4):308-320。doi:10.1109/TSE.1976.233837·Zbl 0352.68066号 ·doi:10.1109/TSE.1976.233837
[20] Myers CR(2003)《作为复杂网络的软件系统:软件协作图的结构、功能和演化性》。物理版E 68(4):046116。doi:10.1103/PhysRevE.68.046116·doi:10.1103/PhysRevE.68.046116
[21] Newman MEJ(2003)复杂网络的结构和功能。SIAM版本45:167-256。doi:10.1137/S003614450342480·Zbl 1029.68010号 ·doi:10.1137/S003614450342480
[22] RakićG,Budimac Z(2011)《引入丰富的具体语法树》。摘自:第14届信息社会(IS)、信息社会中的协作、软件和服务国际多会议记录,第211-214页
[23] Redner S(2005)《物理评论》110年引文统计。《今日物理》58(6):49-54。doi:10.1063/1.1996475·doi:10.1063/1.1996475
[24] SavćM,RakićG,Budimac Z,IvanovićM(2014)一种独立于语言的方法,用于提取源代码实体之间的依赖关系。Inf Softw Technol公司56(10):1268-1288。doi:10.1016/j.infsof.2014.04.011·doi:10.1016/j.infsof.2014.04.011
[25] Šubelj L,Bajec M(2012)《复杂网络科学中的软件系统:回顾、分析和应用》。摘自:软件挖掘第一届国际研讨会论文集,SoftwareMining’12,第9-16页。ACM,美国纽约州纽约市doi:10.1145/2384416.2384418·Zbl 0092.15705号
[26] Taube-Schock C,Walker R,Witten I(2011),我们能避免高耦合吗?收录:Mezini M(ed)ECOOP 2011面向对象编程。计算机科学课堂讲稿,第6813卷。柏林施普林格,第204-228页。数字对象标识代码:10.1007/978-3-642-22655-7_10·Zbl 1226.05223号
[27] Valverde S,Cancho RF,SoléRV(2002),优化设计的无标度网络。EPL 60(4):512-517。doi:10.1209/epl/i002-00248-2·doi:10.1209/epl/i002-00248-2
[28] 温,H。;DSouza,RM;索尔,ZM;菲尔科夫,V。;Ganguly,N.(编辑);Deutsch,A.(编辑);Mukherjee,A.(编辑),《Apache开源软件的演变》,199-215(2009),波士顿·doi:10.1007/978-0-8176-4751-3_12
[29] Wheeldon R,Counsell S(2003),阶级关系中的幂律分布。摘自:第三届IEEE源代码分析和操作国际研讨会论文集,第45-54页。doi:10.1109/SCAM.2003.1238030
[30] Yourdon E,Constantine LL(1979)《结构化设计:计算机程序和系统设计学科基础》,第1版。Prentice-Hall公司,Upper Saddle River·Zbl 0466.68003号
此参考列表基于出版商或数字数学图书馆提供的信息。其项与zbMATH标识符进行启发式匹配,可能包含数据转换错误。在某些情况下,zbMATH Open的数据对这些数据进行了补充/增强。这试图尽可能准确地反映原始论文中列出的参考文献,而不要求完整或完全匹配。