arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 1703.08005cs.SEcs.FL
收藏

使用主动库执行策略

Policy Enforcement with Proactive Libraries

Oliviero Riganelli, Daniela Micucci, Leonardo Mariani

摘要:

软件库实现了提供可重用功能的API。为了正确地使用这些功能,软件应用程序必须满足某些正确性策略,例如关于可以调用某些API方法的顺序以及关于可以用于参数的值的策略。如果违反这些策略,应用程序可能会在运行时产生错误行为和故障。虽然这个问题很普遍,但在某些情况下,不正确使用API方法的应用程序更常见。例如,Android提供了一组丰富且快速发展的API,这些API可能会被经常在市场上实现和发布错误应用的应用开发人员错误地使用。为了缓解这个问题,我们引入了主动库的新概念,它增强了经典库在运行时间主动检测和修复误用的能力。主动库将库与多个主动模块混合在一起,这些模块收集数据,检查库的正确性策略,并在检测到违反正确性策略时立即修复执行。主动模块可以在运行时由用户激活或去激活,并且可以在不需要对原始库进行任何改变以及关于可以使用库的应用的任何知识的情况下实现。我们在Android生态系统的背景下评估了主动库。结果表明,主动库可以自动地克服一些问题,不良的资源使用的成本很小的开销。

英文摘要:

Software libraries implement APIs that deliver reusable functionalities. To correctly use these functionalities, software applications must satisfy certain correctness policies, for instance policies about the order some API methods can be invoked and about the values that can be used for the parameters. If these policies are violated, applications may produce misbehaviors and failures at runtime. Although this problem is general, applications that incorrectly use API methods are more frequent in certain contexts. For instance, Android provides a rich and rapidly evolving set of APIs that might be used incorrectly by app developers who often implement and publish faulty apps in the marketplaces. To mitigate this problem, we introduce the novel notion of proactive library, which augments classic libraries with the capability of proactively detecting and healing misuses at run- time. Proactive libraries blend libraries with multiple proactive modules that collect data, check the correctness policies of the libraries, and heal executions as soon as the violation of a correctness policy is detected. The proactive modules can be activated or deactivated at runtime by the users and can be implemented without requiring any change to the original library and any knowledge about the applications that may use the library. We evaluated proactive libraries in the context of the Android ecosystem. Results show that proactive libraries can automati- cally overcome several problems related to bad resource usage at the cost of a small overhead.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑