{"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}
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.