OPAL: An extensible framework for ontology‐based program analysis. (17th March 2020)
- Record Type:
- Journal Article
- Title:
- OPAL: An extensible framework for ontology‐based program analysis. (17th March 2020)
- Main Title:
- OPAL: An extensible framework for ontology‐based program analysis
- Authors:
- Pattipati, Dileep Kumar
Nasre, Rupesh
Puligundla, Sreenivasa Kumar - Abstract:
- Summary: The syntactic information of a program can be represented as resource description framework (RDF) triples called program triples . We propose an extensible static analysis framework, called OPAL—Ontology‐based Program AnaLysis. The framework enables formal representation of external knowledge, such as usage knowledge of libraries and domain knowledge. Utilizing this knowledge and the program triples, we compute the semantic information, called static trace of the program. It is generated through path‐sensitive intraprocedural traversal of the program. We approximate information in case of loops by unrolling them a fixed number of times. The main contribution of the framework is to store the static trace as RDF triples called semantic triples . They are described using the Program Analysis ontology proposed in this article. The program triples and the semantic triples are together called consolidated program triples . These triples are stored and used to accelerate the execution of client‐analyses specified by the end user. In the framework, a client‐analysis is specified by a set of conjunctive expressions that use SPARQL (W3C RDF query language) queries. The framework is effective for the client‐analyses that warrant sound and approximate information. The effectiveness is assessed first, using two source‐code‐analyses that require only the program triples, and then 10 intraprocedural path‐sensitive analyses that require the consolidated program triples. Using NPBSummary: The syntactic information of a program can be represented as resource description framework (RDF) triples called program triples . We propose an extensible static analysis framework, called OPAL—Ontology‐based Program AnaLysis. The framework enables formal representation of external knowledge, such as usage knowledge of libraries and domain knowledge. Utilizing this knowledge and the program triples, we compute the semantic information, called static trace of the program. It is generated through path‐sensitive intraprocedural traversal of the program. We approximate information in case of loops by unrolling them a fixed number of times. The main contribution of the framework is to store the static trace as RDF triples called semantic triples . They are described using the Program Analysis ontology proposed in this article. The program triples and the semantic triples are together called consolidated program triples . These triples are stored and used to accelerate the execution of client‐analyses specified by the end user. In the framework, a client‐analysis is specified by a set of conjunctive expressions that use SPARQL (W3C RDF query language) queries. The framework is effective for the client‐analyses that warrant sound and approximate information. The effectiveness is assessed first, using two source‐code‐analyses that require only the program triples, and then 10 intraprocedural path‐sensitive analyses that require the consolidated program triples. Using NPB and SPEC 2006 benchmarks, we achieve an improvement in the conciseness of analysis specifications. Also, the execution time using OPAL is competitive to LLVM's clang for individual analysis and outperforms clang over a series of analyses because of the reuse of consolidated program triples. … (more)
- Is Part Of:
- Software, practice & experience. Volume 50:Number 8(2020)
- Journal:
- Software, practice & experience
- Issue:
- Volume 50:Number 8(2020)
- Issue Display:
- Volume 50, Issue 8 (2020)
- Year:
- 2020
- Volume:
- 50
- Issue:
- 8
- Issue Sort Value:
- 2020-0050-0008-0000
- Page Start:
- 1425
- Page End:
- 1462
- Publication Date:
- 2020-03-17
- Subjects:
- program analysis using ontology -- program knowledge bases -- program triples -- semantic triples -- SPARQL analysis specification
Computer software -- Periodicals
Computer programming -- Periodicals
Computer programs -- Periodicals
005.3 - Journal URLs:
- http://onlinelibrary.wiley.com/ ↗
- DOI:
- 10.1002/spe.2821 ↗
- Languages:
- English
- ISSNs:
- 0038-0644
- Deposit Type:
- Legaldeposit
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library DSC - 8321.453000
British Library DSC - BLDSS-3PM
British Library STI - ELD Digital store - Ingest File:
- 13357.xml