Static modeling method and characteristic analysis of exception propagation network
-
摘要: 异常传播现象已经成为软件开发者在异常处理过程中必须要考虑的主要问题之一.以往研究者更多关注于异常传播路径以及异常抛出的根源,而忽略异常传播结构的网络化特征.通过定义异常传播过程中方法之间的异常传递关系对异常传播结构进行网络化建模,提出了异常传播网络模型.通过对5个开源软件包的异常传播网络进行度分布、传播异常类型层次分布、聚集系数和平均最短路径等网络特征的分析发现:异常传播网络的出度和入度基本服从幂律分布;异常传播过程几乎都与"不要传播抽象异常"原则相违背;由于异常传播过程的"弱边界性",异常传播网络并没有传统软件的高内聚特征.上述分析成果可以为软件开发者在设计异常处理过程时提供指导和建议.Abstract: In area of the exception handling, exception propagation is of catholic concern. Previous researchers focused more on exception propagation paths and the source of a thrown exception but ignored the networked characteristic of exception propagation. An exception propagation networked model was proposed based on the definition of exception transitivity relationship between two methods. A case study was presented for the analysis of main characteristics of complex network, which includes the degree distribution, the exception hierarchy distribution, the clustering coefficient and the average shortest path. The results show that the in-degree and out-degree distribution are basically subject to a power law distribution; Most exception propagation processes violate the rule of "Do not spread the abstract exception"; The exception propagation network appears the low cohesion feature due to the "Weak Border" characteristic. These empirical findings can provide the guidance for software developers in the design process for exception handling.
-
Key words:
- exception propagation /
- exception propagation path /
- networked modeling
-
[1] Wikipedia.Exception handling. 2011. http://en.wikipedia.org/wiki/Exception_handling#Checked_exceptions [2] Fu C,Ryder B G.Exception-propagation analysis:revealing exception handling architecture in Java server applications //Proc 29th international Conference on Software Engineering.Washington DC:IEEE Computer Society,2007:230-239 [3] Van Dooren M,Steegmans E.Combining the robustness of checked exceptions with the flexibility of unchecked exceptions using anchored exception declarations //Proc OOPSLA-05.New York:ACM Press,2005:455-471 [4] Myers C R.Software systems as complex networks:structure function and evolvability of software collaboration graphs[J].Physical Review E,2003,68(42):46116-1-46116-15 [5] Ma Yutao,He Keqing,Du Dehui,et al.A complexity metrics set for large-scale object-oriented software systems //Proceedings of the Sixth IEEE International Conference on Computer and Information Technology.Washington DC:IEEE Computer Society,2006:189-195 [6] Robillard M,Murphy G.Static analysis to support the evolution of exception structure in object-oriented systems[J].ACM Transactions on Software Engineering and Methodology,2003,2(12):191-221 [7] Mao Chengying,Lu Yansheng.Improving the robustness and reliability of object-oriented programs through exception analysis and testing //Proc 10th IEEE International Conference on Engineering of Complex Computer Systems.Washington DC:IEEE Computer Society,2005:432-439 [8] 姜淑娟,徐宝文,史亮,等.一种基于异常传播分析的依赖性分析方法[J].软件学报,2007,18(4):832-841 Jiang Shujuan,Xu Baowen,Shi Liang, et al.An approach to analyzing dependence based on exception propagation analysis[J].Journal of Software,2007,18(4):832-841(in Chinese) [9] Qiu Xiang,Zhang Li,Lian Xiaoli.Static analysis for Java exception propagation structure //2010 International Conference on Progress in Informatics and Computing.Washington DC:IEEE Computer Society,2010:1041-1046 [10] Siganos G,Faloutsos M,Faloutsos P,et al.Power laws and the AS-level intemet topology[J].IEEE/ACM Trans on Networking,2003,11(4):514-524 [11] 钱冠群.基于复杂网络的软件静态结构分析. 北京:北京航空航天大学计算机学院,2009 Qian Guanqun.Software static structure analysis based on complex network method. Beijing:School of Computer Science and Engineering,Beijing University of Aeronautics and Astronautics,2009(in Chinese) [12] Robillard M,Murphy G.Designing robust Java programs with exceptions[J].ACM SIGSOFT Software Engineering Notes,2000,6(25):2-10 [13] 何克清.软件网络[M].北京:科学出版社,2007 He Keqing.Software network[M].Beijing:Science Press,2007(in Chinese) [14] Shenoy S.Best practices in EJB exception handling. New York:IBM,2002. http://www.ibm.com/developerworks/java/library/j-ejbexcept/index.html [15] Malayeri D,ldrich J.Practical eception secifications[J].Advanced Topics in Exception Handling Techniques,LNCS,2006,4119:200-220 [16] Cacho N,Dantans F,Garcia A,et al.Exception flows made explicit:an exploratory study //Proc XXIII Brazilian Symposium on Software Engineering.Washington DC:IEEE Computer Society,2009:43-53
点击查看大图
计量
- 文章访问数: 2252
- HTML全文浏览量: 175
- PDF下载量: 1067
- 被引次数: 0