Show simple item record

dc.identifier.urihttp://hdl.handle.net/1951/55629
dc.identifier.urihttp://hdl.handle.net/11401/72673
dc.description.sponsorshipThis work is sponsored by the Stony Brook University Graduate School in compliance with the requirements for completion of degree.en_US
dc.formatMonograph
dc.format.mediumElectronic Resourceen_US
dc.language.isoen_US
dc.publisherThe Graduate School, Stony Brook University: Stony Brook, NY.
dc.typeDissertation
dcterms.abstractLogic programming languages have been widely used to express program analyses. In this dissertation, we present a framework of program analysis using Horn clauses and Binary Decision Diagrams (BDDs). In contrast to previous work of Whaley, et al. that used Datalog and BDDs for program analysis, we use Horn clauses (which can be viewed as an extension of Datalog) to express program analysis problems. Horn clauses are more expressive than Datalog by allowing functions as arguments of predicates. Many type-based program analysis problems involve type information in which the type is usually a recursively defined object consisting of subtypes. The use of function symbols makes it possible to specify a type in a natural way.BDDs are very popular tool in hardware verification and model checking. Recently, BDDs have also been used in program analysis to efficiently analyze large programs. Unlike Datalog, Horn clauses cannot be implemented by using ordinary BDDs due to the presence of functions. In this dissertation, we propose an automata-based approach that treats terms as strings reading from left to right and represents terms by automata. We devise various operations on automata to manipulate terms. Moreover, we show that such automata lend themselves readily to a representation using Multi-Terminal Binary Decision Diagrams (MTBDDs).We present a top-down set-at-a-time depth-first evaluation algorithm for Horn clauses in terms of sets of ground atoms. Such evaluation algorithm computes relevant results starting from the query in a top-down fashion, operates over a set of atoms at a time, and gains efficiency by taking the advantage of symbolic representation of sets of ground atoms in Horn clauses.The combination of the above ideas yields a framework for program analysis such that analysis queries are naturally expressed as Horn clauses and the evaluation of Horn clauses is efficiently implemented by MTBDDs. Such a framework is suitable for type-based program analysis, such as strictness analysis, binding-time analysis, secure information flow analysis, and so on.
dcterms.available2012-05-15T18:06:54Z
dcterms.available2015-04-24T14:53:11Z
dcterms.contributorStark, Eugene W.en_US
dcterms.contributorScott D. Stolleren_US
dcterms.contributorAarti Gupta.en_US
dcterms.contributorGrosu, Raduen_US
dcterms.creatorSong, Wenxin
dcterms.dateAccepted2012-05-15T18:06:54Z
dcterms.dateAccepted2015-04-24T14:53:11Z
dcterms.dateSubmitted2012-05-15T18:06:54Z
dcterms.dateSubmitted2015-04-24T14:53:11Z
dcterms.descriptionDepartment of Computer Scienceen_US
dcterms.formatMonograph
dcterms.formatApplication/PDFen_US
dcterms.identifierSong_grad.sunysb_0771E_10260.pdfen_US
dcterms.identifierhttp://hdl.handle.net/1951/55629
dcterms.identifierhttp://hdl.handle.net/11401/72673
dcterms.issued2010-08-01
dcterms.languageen_US
dcterms.provenanceMade available in DSpace on 2012-05-15T18:06:54Z (GMT). No. of bitstreams: 1 Song_grad.sunysb_0771E_10260.pdf: 1367067 bytes, checksum: bfc0d2ea79709df74963198d61c6c76c (MD5) Previous issue date: 1en
dcterms.provenanceMade available in DSpace on 2015-04-24T14:53:11Z (GMT). No. of bitstreams: 3 Song_grad.sunysb_0771E_10260.pdf.jpg: 1894 bytes, checksum: a6009c46e6ec8251b348085684cba80d (MD5) Song_grad.sunysb_0771E_10260.pdf.txt: 254722 bytes, checksum: 483c02d0086a74e107ff2f3575757eb4 (MD5) Song_grad.sunysb_0771E_10260.pdf: 1367067 bytes, checksum: bfc0d2ea79709df74963198d61c6c76c (MD5) Previous issue date: 1en
dcterms.publisherThe Graduate School, Stony Brook University: Stony Brook, NY.
dcterms.subjectautomata, Binary Decision Diagrams, Horn clauses, program analysis, set-at-a-time evaluation
dcterms.subjectComputer Science
dcterms.titleUsing Horn Clauses and Binary Decision Diagrams for Program Analysis
dcterms.typeDissertation


Files in this item

Thumbnail

This item appears in the following Collection(s)

Show simple item record