论文标题
Android中运行时执行器的非功能测试
Non-Functional Testing of Runtime Enforcers in Android
论文作者
论文摘要
运行时执行器可用于确保运行应用程序满足所需的正确性属性。尽管相对于抽象行为模型正确构建的运行时执行器相对易于指定,但是从这些规格中生成的具体软件执行器可能很容易在目标应用程序中引入问题。确实,开发人员可以生成测试套件来验证执行者的功能行为,例如利用用于指定它们的相同模型。但是,从非功能性绩效特征方面验证执行者的行为仍然充满挑战和乏味。本文介绍了一种实用方法,可以揭示可能在目标应用程序中引入效率低下的运行时执行者。该方法依赖于自动测试生成和多个关键性能指标的运行时监视的组合。我们设计了我们的方法,以在四个指标的移动系统指标中揭示问题:响应能力,发射时间,内存和能耗。实验结果表明,我们的方法可以检测到自动生成的执行者可能引入的性能问题。
Runtime enforcers can be used to ensure that running applications satisfy desired correctness properties. Although runtime enforcers that are correct-by-construction with respect to abstract behavioral models are relatively easy to specify, the concrete software enforcers generated from these specifications may easily introduce issues in the target application. Indeed developers can generate test suites to verify the functional behavior of the enforcers, for instance exploiting the same models used to specify them. However, it remains challenging and tedious to verify the behavior of enforcers in terms of non-functional performance characteristics. This paper describes a practical approach to reveal runtime enforcers that may introduce inefficiencies in the target application. The approach relies on a combination of automatic test generation and runtime monitoring of multiple key performance indicators. We designed our approach to reveal issues in four indicators for mobile systems: responsiveness, launch time, memory, and energy consumption. Experimental results show that our approach can detect performance issues that might be introduced by automatically generated enforcers.