基于组件的Java程序中运行时类型错误的半静态检测

Xiaowei Zhou, Wen-bo Zhang, Jianhua Zhang
{"title":"基于组件的Java程序中运行时类型错误的半静态检测","authors":"Xiaowei Zhou, Wen-bo Zhang, Jianhua Zhang","doi":"10.1109/APSEC.2012.46","DOIUrl":null,"url":null,"abstract":"The using of multiple custom class loaders in component-based Java programs may lead to more runtime type errors. These errors can happen at various program statements and may be wrapped in different types of exceptions by JVM, therefore posing difficulties for dealing with them. Traditional static analysis approaches only consider static types and thus cannot detect many of them. We propose a semi-static approach based on points-to analysis and dynamically gathered behavior information of Java class loaders to detect runtime type errors in component-based Java programs without running them. We also implement a prototype tool for OSGi-based programs, where OSGi is a typical Java component framework.","PeriodicalId":364411,"journal":{"name":"2012 19th Asia-Pacific Software Engineering Conference","volume":"34 1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2012-12-04","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"Semi-static Detection of Runtime Type Errors in Component-Based Java Programs\",\"authors\":\"Xiaowei Zhou, Wen-bo Zhang, Jianhua Zhang\",\"doi\":\"10.1109/APSEC.2012.46\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"The using of multiple custom class loaders in component-based Java programs may lead to more runtime type errors. These errors can happen at various program statements and may be wrapped in different types of exceptions by JVM, therefore posing difficulties for dealing with them. Traditional static analysis approaches only consider static types and thus cannot detect many of them. We propose a semi-static approach based on points-to analysis and dynamically gathered behavior information of Java class loaders to detect runtime type errors in component-based Java programs without running them. We also implement a prototype tool for OSGi-based programs, where OSGi is a typical Java component framework.\",\"PeriodicalId\":364411,\"journal\":{\"name\":\"2012 19th Asia-Pacific Software Engineering Conference\",\"volume\":\"34 1 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2012-12-04\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2012 19th Asia-Pacific Software Engineering Conference\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/APSEC.2012.46\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2012 19th Asia-Pacific Software Engineering Conference","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/APSEC.2012.46","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 1

摘要

在基于组件的Java程序中使用多个自定义类加载器可能会导致更多的运行时类型错误。这些错误可能发生在各种程序语句中,并且可能被JVM封装在不同类型的异常中,因此给处理它们带来了困难。传统的静态分析方法只考虑静态类型,因此无法检测到许多静态类型。我们提出了一种基于点对点分析和动态收集Java类加载器行为信息的半静态方法来检测基于组件的Java程序中的运行时类型错误,而不运行它们。我们还为基于OSGi的程序实现了一个原型工具,其中OSGi是一个典型的Java组件框架。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
Semi-static Detection of Runtime Type Errors in Component-Based Java Programs
The using of multiple custom class loaders in component-based Java programs may lead to more runtime type errors. These errors can happen at various program statements and may be wrapped in different types of exceptions by JVM, therefore posing difficulties for dealing with them. Traditional static analysis approaches only consider static types and thus cannot detect many of them. We propose a semi-static approach based on points-to analysis and dynamically gathered behavior information of Java class loaders to detect runtime type errors in component-based Java programs without running them. We also implement a prototype tool for OSGi-based programs, where OSGi is a typical Java component framework.
求助全文
通过发布文献求助,成功后即可免费获取论文全文。 去求助
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术官方微信