Category: Tooling Name: Program analysis suite, based on Rich Hickey's Codeq
Brief explanation: Rich Hickey, inventor of Clojure and Datomic, created Codeq as a prototype framework for program analysis. It harvests multiple information sources (eg, Git metadata, source code), and stores the results in a graph database (eg, Datomic). The results are thus available for querying, processing, visualization, etc. Although Codeq is very promising, it is only a proof of concept, lacking analyzers, a control framework, and presentation tools. Turning Codeq into a production suite would be a substantial software engineering effort, with corresponding visibility. The student would extend the base that Codeq provides, producing a compelling and robust example of the power of this approach. Expected results: The suite should be ready for "drop-in" installation in typical Clojure shops. It should do continuous harvesting of code bases. It should extend the current Clojure analyzer to harvest names of called functions and methods, use of global state, etc. Stretch goals might include other analyzers (eg, Java), queries for common use cases, analysis and visualization software, etc. Knowledge prerequisites: Interest in mechanized program analysis. Experience with Clojure. Difficulty: Medium Mentor: Rich Morin (mechanized documentation enthusiast), Tom Faulhaber (author of Autodoc, cl-format, etc.) -- http://www.cfcl.com/rdm Rich Morin http://www.cfcl.com/rdm/resume r...@cfcl.com http://www.cfcl.com/rdm/weblog +1 650-873-7841 Software system design, development, and documentation -- -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.