中文

利用主动式库进行策略执行

软件工程 2020-10-14 v2 形式语言与自动机理论

摘要

软件库实现了提供可重用功能的 API。为了正确使用这些功能,软件应用程序必须满足某些正确性策略,例如关于某些 API 方法的调用顺序以及参数可用值的策略。如果违反这些策略,应用程序在运行时可能会产生异常行为和故障。尽管这个问题具有普遍性,但在某些环境中,不正确使用 API 方法的应用程序更为频繁。例如,Android 提供了一套丰富且快速演进的 API,应用开发者可能会错误使用它们,并经常在应用市场中发布有缺陷的应用程序。为了缓解这一问题,我们引入了主动式库的新概念,它在经典库的基础上增加了在运行时主动检测和修复误用的能力。主动式库将库与多个主动模块融合在一起,这些模块收集数据、检查库的正确性策略,并在检测到违反正确性策略时立即修复执行。主动模块可以由用户在运行时激活或停用,并且可以在不要求对原始库进行任何更改以及不要求了解可能使用该库的应用程序的任何知识的情况下实现。我们在 Android 生态系统背景下评估了主动式库。结果表明,主动式库能够以较小的开销自动克服与不良资源使用相关的若干问题。

关键词

引用

@article{arxiv.1703.08005,
  title  = {Policy Enforcement with Proactive Libraries},
  author = {Oliviero Riganelli and Daniela Micucci and Leonardo Mariani},
  journal= {arXiv preprint arXiv:1703.08005},
  year   = {2020}
}

备注

O. Riganelli, D. Micucci and L. Mariani, "Policy Enforcement with Proactive Libraries" 2017 IEEE/ACM 12th International Symposium on Software Engineering for Adaptive and Self-Managing Systems (SEAMS), Buenos Aires, Argentina, 2017, pp. 182-192