浏览全部资源
扫码关注微信
1. 中国矿业大学 计算机科学与技术学院,江苏 徐州 221116
2. 南通大学 计算机科学与技术学院,江苏 南通 226019
[ "姜淑娟(1966-),女,山东莱阳人,中国矿业大学教授、博士生导师,主要研究方向为编译技术、软件工程等。" ]
[ "王兴亚(1990-),男,山东淄博人,中国矿业大学博士生,主要研究方向为软件分析与测试。" ]
[ "张艳梅(1982-),女,河北唐山人,博士,中国矿业大学讲师,主要研究方向为异常处理、软件分析与测试等。" ]
[ "李威(1985-),男,江苏徐州人,硕士,主要研究方向为软件分析与测试、错误定位等。" ]
[ "鞠小林(1976-),男,江苏南通人,中国矿业大学博士生,南通大学讲师,主要研究方向为软件分析与测试。" ]
[ "刘颖祺(1992-),男,江苏徐州人,主要研究方向为软件分析与测试。" ]
网络出版日期:2015-01,
纸质出版日期:2015-01-25
移动端阅览
姜淑娟, 王兴亚, 张艳梅, 等. 空指针异常的自动故障定位方法[J]. 通信学报, 2015,36(1):18-29.
Shu-juan JIANG, Xing-ya WANG, Yan-mei ZHANG, et al. Fault localization approach for null pointer exception[J]. Journal on communications, 2015, 36(1): 18-29.
姜淑娟, 王兴亚, 张艳梅, 等. 空指针异常的自动故障定位方法[J]. 通信学报, 2015,36(1):18-29. DOI: 10.11959/j.issn.1000-436x.2015003.
Shu-juan JIANG, Xing-ya WANG, Yan-mei ZHANG, et al. Fault localization approach for null pointer exception[J]. Journal on communications, 2015, 36(1): 18-29. DOI: 10.11959/j.issn.1000-436x.2015003.
提出一种空指针异常自动定位方法。该方法首先结合程序的静态分析技术,利用程序运行时的堆栈信息指导程序切片,然后对得到的切片进行空指针分析及别名分析,得出引发空指针异常的可疑语句集合,最终给出错误定位报告。实验结果表明,所提方法虽然因收集堆栈信息和别名分析增加了时间开销,但是利用堆栈信息可以缩小问题搜索空间,别名分析可以发现隐含的值传递过程,从而克服单独使用静态方法分析结果引起误报和漏报的缺陷,使最终的错误定位结果更精确。
A novel approach to locate the fault for null pointer exception is presented.The approach first computes the static slice guided by the runtime stack
then conducts a null-pointer analysis and aliases analysis on the sliced program and obtains the suspicious statements that throw null-pointer exceptions
and finally generates a fault localization report.The experimental study indicates that
although time spent in runtime stack information collecting and aliases transferring
the proposed approach can narrow the searching space of the problem with runtime stack
and discover the value transfer process with aliases analysis
thereby eliminating false negative and false positive
and improving the effectiveness of fault localization.
SINHA S , HARROLD M J . Analysis and testing of programs with exception-handling constructs [J ] . IEEE Transactions on Software Engineering , 2000 , 26 ( 9 ): 849 - 871 .
JIANG S J , XU B W , SHI L . An approach to analysis exception propagation [A ] . Proceedings of the 8th IASTED International Conference on Software Engineering and Applications [C ] . Anaheim,USA , 2004 . 300 - 305 .
ROBILLARD M P , MURPHY G C . Static analysis to support the evolution of exception structure in object-oriented systems [J ] . ACM Transactions on Software Engineering and Methodology , 2003 , 12 ( 2 ): 191 - 221 .
HOVEMEYER D , SPACCO J , PUGH W . Evaluating and tuning a static analysis to find null pointer bugs [A ] . ACM Transactions on Software Engineering and Methodology , 2005 . 13 - 19 .
EVANS D . Static detection of dynamic memory errors [A ] . Proceedings of the ACM SIGPLAN Conference on Programming Languages,Design,and Implementation [C ] . Pennsylvania,USA , 1996 . 44 - 53 .
FLANAGAN C , LEINO K R M , LILLIBRIDGE M , et al . Extended static checking for Java [A ] . Proceedings of the ACM SIGPLAN Conference on Programming Language Design and Implementation [C ] . Berlin,Germany , 2002 . 234 - 245 .
BUSH W R , PINCUS J D , SIELAFF D J . A static analyzer for finding dynamic programming errors [J ] . Software:Practice and Experience , 2000 , 30 ( 7 ): 775 - 802 .
ROUNTEV A , KAGAN S , GIBAS M . Evaluating the imprecision of static analysis [A ] . Proceedings of the 5th ACM SIGPLAN- SIGSOFT Workshop on Program Analysis for Software Tools and Engineering [C ] . Washington,DC,USA , 2004 . 14 - 16 .
HANGAL S , LAM M S . Tracking down software bugs using automatic anomaly detection [A ] . Proceedings of the International Conference on Software Engineering [C ] . Orlando,Florida,USA , 2002 . 291 - 301 .
TOMB A , BRAT G P , VISSER W . Variably interprocedural program analysis for runtime error detection [A ] . Proceedings of the International Symposium on Software Testing and Analysis [C ] . London,England,United Kingdom , 2007 . 97 - 107 .
SINHA S , SHAH H , GORG C , et al . Fault localization and repair for Java runtime exceptions [A ] . Proceedings of the International Symposium on Software Testing and Analysis [C ] . Chicago,Illinois,USA , 2009 . 153 - 164 .
WEISER M . Program slicing [J ] . IEEE Transactions on Software Engineering , 1984 , 10 ( 4 ): 352 - 357 .
KOREL B , LASKI J . Dynamic program slicing [J ] . Information Processing Letters , 1988 , 29 ( 3 ): 155 - 163 .
姜淑娟 , 徐宝文 , 史亮 . 一种基于异常传播分析的数据流分析方法 [J ] . 软件学报 , 2007 , 18 ( 1 ): 74 - 84 .
JIANG S J , XU B W , SHI L . An approach of data-flow analysis based on exception propagation analysis [J ] . Journal of Software , 2007 , 18 ( 1 ): 74 - 84 .
姜淑娟 , 徐宝文 , 史亮 等 . 一种基于异常传播分析的依赖性分析方法 [J ] . 软件学报 , 2007 , 18 ( 4 ): 832 - 841 .
JIANG S J , XU B W , SHI L , et al . An approach to analyzing dependence based on exception propagation analysis [J ] . Journal of Software , 2007 , 18 ( 4 ): 832 - 841 .
JIANG S J , ZHANG H C , WANG Q T , et al . A debugging approach for Java runtime exception based on program slicing and stack traces [A ] . Proceedings of the 10th International Conference on Quality Software [C ] . Zhangjiajie,China , 2010 . 393 - 398 .
VALLÉE-RAI R , LAM P , VERBRUGGE C , et al . Soot(postersession):a Java byte code optimization and annotation framework [A ] . Proceedings of the 15th ACM SIGPLAN Conference on Object-oriented Programming,Systems,Languages,and Applications [C ] . Minneapolis,Minnesota,USA , 2000 . 113 - 114 .
NANDA M G , SINHA S . Accurate inter-procedural null-dereference analysis for Java [A ] . Proceedings of the 31st International Conference on Software Engineering [C ] . Vancouver,Canada , 2009 . 133 - 143 .
XIE Y , ENGLER D R . Using redundancies to find errors [A ] . Proceedings of the 10th ACM SIGSOFT Symposium on Foundations of Software Engineering [C ] . Charleston,SC,USA , 2002 . 51 - 60 .
BAAH G K , PODGURSKI A , HARROLD M J . The probabilistic program dependence graph and its application to fault diagnosis [J ] . IEEE Transactions on Software Engineering , 2010 , 36 ( 4 ): 528 - 545 .
ZHANG X Y , GUPTA N , GUPTA R . Pruning dynamic slices with confidence [A ] . Proceedings of the 2006 ACM SIGPLAN Conference on Programming Language Design and Implementation [C ] . Ottawa,Ontario,Canada , 2006 . 169 - 180 .
GUPTA R , SOFFA M L . Hybrid slicing:an approach for refining static slices using dynamic information [A ] . Proceedings of the 3rd ACM SIGSOFT Symposium on Foundations of Software Engineering [C ] . Washington,DC,USA , 1995 . 29 - 40 .
RENIERIS M , REISS S P . Fault localization with nearest neighbor queries [A ] . Proceedings of the 18th IEEE/ACM International Conference on Automated Software Engineering [C ] . Montreal,Canada , 2003 . 30 - 39 .
JONES J A , HARROLD M J . Empirical evaluation of the Tarantula automatic fault localization technique [A ] . Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering [C ] . Long Beach,CA,USA , 2005 . 273 - 282 .
JONES J A , HARROLD M J , STASKO J . Visualization of test information to assist fault localization [A ] . Proceedings of the 24th International Conference on Software Engineering [C ] . Orlando,Florida , 2002 . 467 - 477 .
SANTELICES R , JONES J A , YU Y B , et al . Lightweight fault-localization using multiple coverage types [A ] . Proceedings of the 31st International Conference on Software Engineering [C ] . Vancouver,Canada , 2009 . 56 - 66 .
徐宝文 , 聂长海 , 史亮 等 . 一种基于组合测试的软件故障调试方法 [J ] . 计算机学报 , 2006 , 29 ( 1 ): 132 - 138 .
XU B W , NIE C H , SHI L , et al . A software failure debugging method based on combinatorial design approach for testing [J ] . Chinese Journal of Computers , 2006 , 29 ( 1 ): 132 - 138 .
0
浏览量
883
下载量
0
CSCD
关联资源
相关文章
相关作者
相关机构