License: Creative Commons Attribution 3.0 Unported license (CC BY 3.0)
When quoting this document, please refer to the following
DOI: 10.4230/LIPIcs.ECOOP.2016.26
URN: urn:nbn:de:0030-drops-61201
URL: https://drops.dagstuhl.de/opus/volltexte/2016/6120/
Go to the corresponding LIPIcs Volume Portal


Zhao, Yue ; Chen, Guoyang ; Liao, Chunhua ; Shen, Xipeng

Towards Ontology-Based Program Analysis

pdf-format:
LIPIcs-ECOOP-2016-26.pdf (2 MB)


Abstract

Program analysis is fundamental for program optimizations, debugging,
and many other tasks. But developing program analyses has been a
challenging and error-prone process for general users. Declarative
program analysis has shown the promise to dramatically improve the
productivity in the development of program analyses. Current
declarative program analysis is however subject to some major
limitations in supporting cooperations among analysis tools, guiding
program optimizations, and often requires much effort for repeated
program preprocessing.

In this work, we advocate the integration of ontology into declarative
program analysis. As a way to standardize the definitions of concepts
in a domain and the representation of the knowledge in the domain,
ontology offers a promising way to address the limitations of current
declarative program analysis. We develop a prototype framework named
PATO for conducting program analysis upon ontology-based program
representation. Experiments on six program analyses confirm the
potential of ontology for complementing existing declarative program
analysis. It supports multiple analyses without separate program
preprocessing, promotes cooperative Liveness analysis between two
compilers, and effectively guides a data placement optimization for
Graphic Processing Units (GPU).

BibTeX - Entry

@InProceedings{zhao_et_al:LIPIcs:2016:6120,
  author =	{Yue Zhao and Guoyang Chen and Chunhua Liao and Xipeng Shen},
  title =	{{Towards Ontology-Based Program Analysis}},
  booktitle =	{30th European Conference on Object-Oriented Programming (ECOOP 2016)},
  pages =	{26:1--26:25},
  series =	{Leibniz International Proceedings in Informatics (LIPIcs)},
  ISBN =	{978-3-95977-014-9},
  ISSN =	{1868-8969},
  year =	{2016},
  volume =	{56},
  editor =	{Shriram Krishnamurthi and Benjamin S. Lerner},
  publisher =	{Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{http://drops.dagstuhl.de/opus/volltexte/2016/6120},
  URN =		{urn:nbn:de:0030-drops-61201},
  doi =		{10.4230/LIPIcs.ECOOP.2016.26},
  annote =	{Keywords: ontology, compiler, program analysis}
}

Keywords: ontology, compiler, program analysis
Collection: 30th European Conference on Object-Oriented Programming (ECOOP 2016)
Issue Date: 2016
Date of publication: 18.07.2016


DROPS-Home | Fulltext Search | Imprint | Privacy Published by LZI