Synthesizing API usage examples

Software Engineering(2012)

引用 224|浏览35
暂无评分
摘要
Key program interfaces are sometimes documented with usage examples: concrete code snippets that characterize common use cases for a particular data type. While such documentation is known to be of great utility, it is burdensome to create and can be incomplete, out of date, or not representative of actual practice. We present an automatic technique for mining and synthesizing succinct and representative human-readable documentation of program interfaces. Our algorithm is based on a combination of path sensitive dataflow analysis, clustering, and pattern abstraction. It produces output in the form of well-typed program snippets which document initialization, method calls, assignments, looping constructs, and exception handling. In a human study involving over 150 participants, 82% of our generated examples were found to be at least as good at human-written instances and 94% were strictly preferred to state of the art code search.
更多
查看译文
关键词
application program interfaces,data flow analysis,data mining,document handling,exception handling,pattern clustering,API usage example synthesis,concrete code snippets,document initialization,exception handling,key program interfaces,looping constructs,method assignment,method calls,path sensitive dataflow analysis,pattern abstraction,pattern clustering,program interface documentation mining,program interface documentation synthesis,program snippets
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要