SEFLMar 23, 2017

Policy Enforcement with Proactive Libraries

arXiv:1703.08005v219 citations
AI Analysis

This addresses the issue of faulty app development in rapidly evolving ecosystems like Android, offering a solution to reduce runtime failures, though it is incremental as it builds on existing library concepts.

The paper tackles the problem of software applications incorrectly using API methods, which can lead to runtime failures, by introducing proactive libraries that detect and heal policy violations at runtime. Results in the Android ecosystem show that proactive libraries can automatically overcome several resource usage problems with a small overhead.

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.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes