Interval-based resource usage verification by translation into Horn clauses and an application to energy consumption. Issue 2 (11th May 2018)
- Record Type:
- Journal Article
- Title:
- Interval-based resource usage verification by translation into Horn clauses and an application to energy consumption. Issue 2 (11th May 2018)
- Main Title:
- Interval-based resource usage verification by translation into Horn clauses and an application to energy consumption
- Authors:
- LOPEZ-GARCIA, P.
DARMAWAN, L.
KLEMEN, M.
LIQAT, U.
BUENO, F.
HERMENEGILDO, M. V. - Abstract:
- Abstract: Many applications require conformance with specifications that constrain the use of resources, such as execution time, energy, bandwidth, etc. We present a configurable framework for static resource usage verification where specifications can include data size-dependent resource usage functions, expressing both lower and upper bounds. Ensuring conformance with respect to such specifications is an undecidable problem. Therefore, to statically check such specifications, our framework infers the same type of resource usage functions, which safely approximate the actual resource usage of the program, and compares them against the specification. We review how this framework supports several languages and compilation output formats by translating them to an intermediate representation based on Horn clauses and using the configurability of the framework to describe the resource semantics of the input language. We provide a detailed formalization and extend the framework so that both resource usage specification and analysis/verification output can include preconditions expressing intervals for the input data sizes for which assertions are intended to hold, proved, or disproved. Most importantly, we also extend the classes of functions that can be checked. We also report on and provide results from an implementation within the Ciao/CiaoPP framework, as well as on a practical tool built by instantiating this framework for the verification of energy consumptionAbstract: Many applications require conformance with specifications that constrain the use of resources, such as execution time, energy, bandwidth, etc. We present a configurable framework for static resource usage verification where specifications can include data size-dependent resource usage functions, expressing both lower and upper bounds. Ensuring conformance with respect to such specifications is an undecidable problem. Therefore, to statically check such specifications, our framework infers the same type of resource usage functions, which safely approximate the actual resource usage of the program, and compares them against the specification. We review how this framework supports several languages and compilation output formats by translating them to an intermediate representation based on Horn clauses and using the configurability of the framework to describe the resource semantics of the input language. We provide a detailed formalization and extend the framework so that both resource usage specification and analysis/verification output can include preconditions expressing intervals for the input data sizes for which assertions are intended to hold, proved, or disproved. Most importantly, we also extend the classes of functions that can be checked. We also report on and provide results from an implementation within the Ciao/CiaoPP framework, as well as on a practical tool built by instantiating this framework for the verification of energy consumption specifications for imperative/embedded programs. Finally, we show as an example how embedded software developers can use this tool, in particular, for determining values for program parameters that ensure meeting a given energy budget while minimizing the loss in quality of service. … (more)
- Is Part Of:
- Theory and practice of logic programming. Volume 18:Issue 2(2018)
- Journal:
- Theory and practice of logic programming
- Issue:
- Volume 18:Issue 2(2018)
- Issue Display:
- Volume 18, Issue 2 (2018)
- Year:
- 2018
- Volume:
- 18
- Issue:
- 2
- Issue Sort Value:
- 2018-0018-0002-0000
- Page Start:
- 167
- Page End:
- 223
- Publication Date:
- 2018-05-11
- Subjects:
- static analysis, -- resource usage analysis and verification, -- Horn clause-based analysis and verification, -- energy consumption, -- program verification and debugging
Logic programming -- Periodicals
Artificial intelligence -- Computer programs -- Periodicals
Constraint programming (Computer science) -- Periodicals
005.115 - Journal URLs:
- https://www.cambridge.org/core/journals/theory-and-practice-of-logic-programming ↗
- DOI:
- 10.1017/S1471068418000042 ↗
- Languages:
- English
- ISSNs:
- 1471-0684
- Deposit Type:
- Legaldeposit
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library HMNTS - ELD Digital store
- Ingest File:
- 6420.xml