Title
Live interactive queries to a software application's memory profile
Abstract
Memory operations are critical to an applicationu0027s reliability and performance. To reason about their correctness and track opportunities for optimisations, sophisticated instrumentation frameworks, such as Valgrind and Pin, have been developed. Both provide only limited facilities for analysing the collected data. This work presents a Valgrindu0027s extension for examining a software applications’ dynamic memory profile through live interactive analysis with SQL. The Pico COllections Query Library (pico ql) module maps Valgrindu0027s data structures that contain the instrumented applicationu0027s memory operations metadata to a relational interface. Queries are type-safe and the module imposes only a trivial overhead when idle. The authors evaluate the proposed approach on ten applications and through a qualitative study. They find 900 kb of undefined bytes in bzip2 that account for 12% of its total memory use and a performance-critical code execution path in the Unix commands sort and uniq. The referenced functions are part of glibc and have been independently modified to boost the libraryu0027s performance. The qualitative study has users rate the usefulness, usability, effort, correctness, and expressiveness of pico ql queries compared to Python scripts. The findings indicate that querying with pico ql incurs lower user effort.
Year
DOI
Venue
2019
10.1049/iet-sen.2018.5114
IET Software
Keywords
Field
DocType
query processing,Unix,storage management,meta data,embedded systems,program diagnostics,storage allocation,SQL,data structures,Internet
SQL,Metadata,Data structure,Programming language,Computer science,Correctness,Usability,Unix,Real-time computing,Python (programming language),Scripting language
Journal
Volume
Issue
ISSN
13
4
1751-8806
Citations 
PageRank 
References 
0
0.34
0
Authors
3
Name
Order
Citations
PageRank
Marios Fragkoulis1374.54
Diomidis Spinellis22023178.89
Panos Louridas34911.16