DocumentCode :
237311
Title :
Efficient Caching and Incrementalization of Object Queries on Collections in Programming Codes
Author :
Nerella, V.K.S. ; Madria, Sanjay ; Weigert, T.
Author_Institution :
Dept. of Comput. Sci., Missouri Univ. of Sci. & Technol., Rolla, MO, USA
fYear :
2014
fDate :
21-25 July 2014
Firstpage :
229
Lastpage :
238
Abstract :
Object oriented programming languages raised the level of abstraction by incorporating first class query constructs explicitly into program codes. These query constructs allow programmers to express operations over collections as object queries. They also provide optimal query execution, utilizing query optimization strategies from the database domain. However, when a query is repeated in the program, it is executed as a new query. Existing approaches, however, such as Java Query Language (JQL), which caches such query constructs on collections have high run time overhead. Therefore, this paper presents an approach to reduce the run time execution of programs involving explicit queries by caching the results of repeated queries while incrementally maintaining the cached results. We performed the pattern matching of both queries and updates at compile time. We propose several cache heuristics that determine not only which queries to cache but also when to stop the incremental maintenance of cached query results. We also propose a method for the incremental maintenance of cached results of queries by handling different types of update operations such as addition, removal of objects from the collections and field value modifications of the object states. We incorporated cache replacement policies that replace the queries from the cache when the cache size is full. Our experimental results demonstrate that our approaches of caching and incrementalization have reduced execution times for the programs with object queries on collections when compared with earlier approaches such as JQL.
Keywords :
cache storage; object-oriented languages; pattern matching; query processing; Java query language; abstraction level; cache heuristics; cache replacement policy; caching approach; incrementalization approach; object oriented programming languages; object queries; pattern matching; program execution; programming codes; query constructs; query execution; query optimization strategies; update operations; Java; Maintenance engineering; Pattern recognition; Programming; Query processing; Time-frequency analysis; Cache Policies; Collection Operations; Query Optimization; Run time;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Computer Software and Applications Conference (COMPSAC), 2014 IEEE 38th Annual
Conference_Location :
Vasteras
Type :
conf
DOI :
10.1109/COMPSAC.2014.31
Filename :
6899221
Link To Document :
بازگشت