{"id":14,"date":"2015-06-22T14:30:37","date_gmt":"2015-06-22T19:30:37","guid":{"rendered":"http:\/\/www.ece.iastate.edu\/kcsl\/?page_id=14"},"modified":"2016-10-11T13:00:48","modified_gmt":"2016-10-11T18:00:48","slug":"flowminer","status":"publish","type":"page","link":"https:\/\/www.ece.iastate.edu\/kcsl\/tools\/flowminer\/","title":{"rendered":"FlowMiner"},"content":{"rendered":"<h2>Abstract<\/h2>\n<p>FlowMiner is a tool for automatically mining expressive, fine-grained data-flow summaries from Java library\u00a0bytecode. FlowMiner captures enough information to enable\u00a0context, type, field, object and flow-sensitive partial program\u00a0analysis of applications using the library. FlowMiner\u2019s summaries are compact- flow details of a library that are non-critical for future partial program analysis of applications are\u00a0elided into simple edges between elements that are accuracy-critical. Hence, summaries extracted by FlowMiner are an\u00a0order of magnitude smaller than the original library. We present\u00a0(i) novel algorithms to extract expressive, fine-grained, compact\u00a0summary data-flows from a Java library, (ii) graph summarization paradigm that uses a multi-attributed directed graph as the\u00a0mathematical abstraction to represent summaries, (iii) open-source implementation (FlowMiner tool) of the above that saves\u00a0summaries in a portable format usable by existing analysis\u00a0tools, and (iv) experiments with recent versions of Android\u00a0showing that FlowMiner\u00a0significantly advances the state-of-the-art tooling in accuracy.<\/p>\n<h2>Contributions<\/h2>\n<ul>\n<li>A\u00a0static analysis technique to automatically generate fine-grained, expressive summary specifications given the source or bytecode of any Java library.\n<ul>\n<li>Our algorithms identify and retain key artifacts of the program semantics necessary to allow context, object, flow, field, and type-sensitive data-flow analyses in the future when using our summaries.<\/li>\n<li>Our summaries use a rich, multi-attributed graph as the mathematical abstraction to encode fine-grained summaries, rather than coarse binary relations between the inputs and outputs of library API.<\/li>\n<li>The generated summaries are compact and significantly smaller than the original library, as non-key features in the flows of the original library are elided into key paths.<\/li>\n<\/ul>\n<\/li>\n<li>Open-source reference implementation\u00a0 of our algorithms that extracts summaries given the source or bytecode of a library and exports them to a portable, tool-agnostic format.<\/li>\n<li>Experimental evaluation of\u00a0FlowMiner demonstrating that FlowMiner&#8217;s summaries of recent\u00a0versions of Android\u00a0are much smaller than the original programs, yet more expressive and accurate than other state-of-the-art summary techniques.<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h2>Experimental Results<\/h2>\n<p><a href=\"https:\/\/www.ece.iastate.edu\/kcsl\/files\/2015\/06\/flowminer-results.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter\" src=\"https:\/\/www.ece.iastate.edu\/kcsl\/files\/2015\/06\/flowminer-results.png\" alt=\"flowminer-results\" width=\"700\" height=\"166\" \/><\/a><\/p>\n<h2>Resources<\/h2>\n<h4>Paper (PDF):\u00a0<a href=\"https:\/\/www.ece.iastate.edu\/kcsl\/files\/2016\/10\/FlowMiner-ICISS2015.pdf\">FlowMiner-ICISS2015.pdf<\/a><\/h4>\n<h4>Slides (PDF):\u00a0<a href=\"https:\/\/www.ece.iastate.edu\/kcsl\/files\/2016\/10\/FlowMiner-ICISS2015-slides.pdf\">FlowMiner-ICISS2015-slides.pdf<\/a><\/h4>\n<h4>Tool: <a href=\"http:\/\/powerofpi.github.io\/FlowMiner\/\">http:\/\/powerofpi.github.io\/FlowMiner\/<\/a><\/h4>\n<h4>Source Code:\u00a0<a href=\"https:\/\/github.com\/powerofpi\/FlowMiner\">https:\/\/github.com\/powerofpi\/FlowMiner<\/a><\/h4>\n<h4>Bibtex:<\/h4>\n<p><code>@incollection{<br \/>\nyear={2015},<br \/>\nbooktitle={Proceedings of the International Conference on Information Systems Security},<br \/>\nvolume={9478},<br \/>\nseries={Lecture Notes in Computer Science},<br \/>\neditor={Jajodia, Sushil and Mazumdar, Chandan},<br \/>\ntitle={FlowMiner: Automatic Summarization of Library Data-Flow for Malware Analysis},<br \/>\npublisher={Springer International Publishing},<br \/>\nauthor={Tom Deering and Ganesh Ram Santhanam and Suresh Kothari},<br \/>\nlanguage={English}<br \/>\n}<\/code><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Abstract FlowMiner is a tool for automatically mining expressive, fine-grained data-flow summaries from Java library\u00a0bytecode. FlowMiner captures enough information to enable\u00a0context, type, field, object and flow-sensitive partial program\u00a0analysis of applications using the library. FlowMiner\u2019s summaries are compact- flow details of a library that are non-critical for future partial program analysis of applications are\u00a0elided into simple [&hellip;]<\/p>\n","protected":false},"author":601,"featured_media":25,"parent":110,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"fullwidthcontent_template.php","meta":{"footnotes":""},"class_list":["post-14","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/www.ece.iastate.edu\/kcsl\/wp-json\/wp\/v2\/pages\/14","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ece.iastate.edu\/kcsl\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.ece.iastate.edu\/kcsl\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.ece.iastate.edu\/kcsl\/wp-json\/wp\/v2\/users\/601"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ece.iastate.edu\/kcsl\/wp-json\/wp\/v2\/comments?post=14"}],"version-history":[{"count":40,"href":"https:\/\/www.ece.iastate.edu\/kcsl\/wp-json\/wp\/v2\/pages\/14\/revisions"}],"predecessor-version":[{"id":267,"href":"https:\/\/www.ece.iastate.edu\/kcsl\/wp-json\/wp\/v2\/pages\/14\/revisions\/267"}],"up":[{"embeddable":true,"href":"https:\/\/www.ece.iastate.edu\/kcsl\/wp-json\/wp\/v2\/pages\/110"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.ece.iastate.edu\/kcsl\/wp-json\/wp\/v2\/media\/25"}],"wp:attachment":[{"href":"https:\/\/www.ece.iastate.edu\/kcsl\/wp-json\/wp\/v2\/media?parent=14"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}