• 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