arrow
Return

A class loading sensitive approach to detection of runtime type errors in component-based Java programs

delete2014-09-01
delete0
PRE
AI
W
Wenbo Zhang *
X
Xiaowei Zhou
张建华 (Jianhua Zhang)
Z
Zhenyu Zhang
H
Hua Zhong
DOI:10.1016/j.infsof.2014.04.005delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Context: The employment of class loaders in component-based Java programs may introduce runtime type errors, which may happen at any statement related to class loading, and may be wrapped into various types of exceptions raised by JVM. Traditional static analysis approaches are inefficient to detect them. Objective: Our previous work proposed a semi-static detection work based on points-to analysis to detect such runtime type errors. In this paper, we extend previous work by referencing the information obtained from class loading to detect runtime type errors in component-based Java programs, without the need to running them. Method: Our approach extends the typical points-to analysis by gathering the behavior information of Java class loaders and figuring out the defining class loader of the allocation sites. By doing that, we obtain the runtime types of objects a reference variable may point to, and make use of such information to facilitate runtime type error detecting. Results: Results on four case studies show that our approach is feasible, can effectively detect runtime errors missed by traditional static checking methods, and performs acceptably in both false negative test and scalability test. (C) 2014 Elsevier B.V. All rights reserved.
Keywords:
Runtime error detection
Class loading
Component-based

Journal

Information and Software Technology cover
Information and Software Technology
IF:
4.3
Papers:
3.7K
Citations:
7.7K

Organization

C
chinese academy of sciences
Scholars:
55.9W
Papers: 44.7W
Citations: 704