M. Mobilio, O. Riganelli, D. Micucci, Leonardo Mariani
{"title":"FILO:自动 FIx-LOcus 识别安卓框架兼容性问题","authors":"M. Mobilio, O. Riganelli, D. Micucci, Leonardo Mariani","doi":"10.3390/info15080423","DOIUrl":null,"url":null,"abstract":"Keeping up with the fast evolution of mobile operating systems is challenging for developers, who have to frequently adapt their apps to the upgrades and behavioral changes of the underlying API framework. Those changes often break backward compatibility. The consequence is that apps, if not updated, may misbehave and suffer unexpected crashes if executed within an evolved environment. Being able to quickly identify the portion of the app that should be modified to provide compatibility with new API versions can be challenging. To facilitate the debugging activities of problems caused by backward incompatible upgrades of the operating system, this paper presents FILO, a technique that is able to recommend the method that should be modified to implement the fix by analyzing a single failing execution. FILO can also provide additional information and key symptomatic anomalous events that can help developers understand the reason for the failure, therefore facilitating the implementation of the fix. We evaluated FILO against 18 real compatibility problems related to Android upgrades and compared it with Spectrum-Based Localization approaches. Results show that FILO is able to efficiently and effectively identify the fix-locus in the apps.","PeriodicalId":510156,"journal":{"name":"Information","volume":"4 9","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2024-07-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"FILO: Automated FIx-LOcus Identification for Android Framework Compatibility Issues\",\"authors\":\"M. Mobilio, O. Riganelli, D. Micucci, Leonardo Mariani\",\"doi\":\"10.3390/info15080423\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Keeping up with the fast evolution of mobile operating systems is challenging for developers, who have to frequently adapt their apps to the upgrades and behavioral changes of the underlying API framework. Those changes often break backward compatibility. The consequence is that apps, if not updated, may misbehave and suffer unexpected crashes if executed within an evolved environment. Being able to quickly identify the portion of the app that should be modified to provide compatibility with new API versions can be challenging. To facilitate the debugging activities of problems caused by backward incompatible upgrades of the operating system, this paper presents FILO, a technique that is able to recommend the method that should be modified to implement the fix by analyzing a single failing execution. FILO can also provide additional information and key symptomatic anomalous events that can help developers understand the reason for the failure, therefore facilitating the implementation of the fix. We evaluated FILO against 18 real compatibility problems related to Android upgrades and compared it with Spectrum-Based Localization approaches. Results show that FILO is able to efficiently and effectively identify the fix-locus in the apps.\",\"PeriodicalId\":510156,\"journal\":{\"name\":\"Information\",\"volume\":\"4 9\",\"pages\":\"\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2024-07-23\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Information\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.3390/info15080423\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Information","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.3390/info15080423","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
摘要
对于开发人员来说,跟上移动操作系统的快速发展是一项挑战,他们必须经常调整自己的应用程序,以适应底层 API 框架的升级和行为变化。这些变化往往会破坏向后兼容性。其后果是,如果不对应用程序进行更新,它们在演进环境中运行时可能会出现异常行为和意外崩溃。要快速识别应用程序中需要修改的部分,以提供与新 API 版本的兼容性,可能具有挑战性。为了便于调试因操作系统向后不兼容升级而导致的问题,本文介绍了 FILO,这是一种能够通过分析单次失败执行来推荐应修改方法以实现修复的技术。FILO 还能提供额外信息和关键的症状异常事件,帮助开发人员了解故障原因,从而促进修复的实施。我们针对与安卓升级相关的 18 个实际兼容性问题对 FILO 进行了评估,并将其与基于频谱的本地化方法进行了比较。结果表明,FILO 能够高效识别应用程序中的修复焦点。
FILO: Automated FIx-LOcus Identification for Android Framework Compatibility Issues
Keeping up with the fast evolution of mobile operating systems is challenging for developers, who have to frequently adapt their apps to the upgrades and behavioral changes of the underlying API framework. Those changes often break backward compatibility. The consequence is that apps, if not updated, may misbehave and suffer unexpected crashes if executed within an evolved environment. Being able to quickly identify the portion of the app that should be modified to provide compatibility with new API versions can be challenging. To facilitate the debugging activities of problems caused by backward incompatible upgrades of the operating system, this paper presents FILO, a technique that is able to recommend the method that should be modified to implement the fix by analyzing a single failing execution. FILO can also provide additional information and key symptomatic anomalous events that can help developers understand the reason for the failure, therefore facilitating the implementation of the fix. We evaluated FILO against 18 real compatibility problems related to Android upgrades and compared it with Spectrum-Based Localization approaches. Results show that FILO is able to efficiently and effectively identify the fix-locus in the apps.