Machine learning in automated text categorization
ACM Computing Surveys (CSUR)
What programmers really want: results of a needs assessment for SDK documentation
Proceedings of the 20th annual international conference on Computer documentation
REVERE: Support for Requirements Synthesis from Documents
Information Systems Frontiers
Status Report: Software Reusability
IEEE Software
Robust multilingual parsing using island grammars
CASCON '03 Proceedings of the 2003 conference of the Centre for Advanced Studies on Collaborative research
A Survey of Software Refactoring
IEEE Transactions on Software Engineering
Accurate unlexicalized parsing
ACL '03 Proceedings of the 41st Annual Meeting on Association for Computational Linguistics - Volume 1
A study of the documentation essential to software maintenance
Proceedings of the 23rd annual international conference on Design of communication: documenting & designing for pervasive information
/*icomment: bugs or bad comments?*/
Proceedings of twenty-first ACM SIGOPS symposium on Operating systems principles
How documentation evolves over time
Ninth international workshop on Principles of software evolution: in conjunction with the 6th ESEC/FSE joint meeting
Automatic documentation inference for exceptions
ISSTA '08 Proceedings of the 2008 international symposium on Software testing and analysis
Enabling static analysis for partial java programs
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Improving API documentation usability with knowledge pushing
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
MAPO: Mining and Recommending API Usage Patterns
Genoa Proceedings of the 23rd European Conference on ECOOP 2009 --- Object-Oriented Programming
Inferring Resource Specifications from Natural Language API Documentation
ASE '09 Proceedings of the 2009 IEEE/ACM International Conference on Automated Software Engineering
Polyglot: an extensible compiler framework for Java
CC'03 Proceedings of the 12th international conference on Compiler construction
Linking e-mails and source code artifacts
Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering - Volume 1
Developing an open-source, rule-based proofreading tool
Software—Practice & Experience
Extracting Source Code from E-Mails
ICPC '10 Proceedings of the 2010 IEEE 18th International Conference on Program Comprehension
Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering
An empirical study on evolution of API documentation
FASE'11/ETAPS'11 Proceedings of the 14th international conference on Fundamental approaches to software engineering: part of the joint European conferences on theory and practice of software
A field study of API learning obstacles
Empirical Software Engineering
@tComment: Testing Javadoc Comments to Detect Comment-Code Inconsistencies
ICST '12 Proceedings of the 2012 IEEE Fifth International Conference on Software Testing, Verification and Validation
Recovering traceability links between an API and its learning resources
Proceedings of the 34th International Conference on Software Engineering
Asking and answering questions about unfamiliar APIs: an exploratory study
Proceedings of the 34th International Conference on Software Engineering
Content classification of development emails
Proceedings of the 34th International Conference on Software Engineering
Inferring method specifications from natural language API descriptions
Proceedings of the 34th International Conference on Software Engineering
On the naturalness of software
Proceedings of the 34th International Conference on Software Engineering
Automated extraction of security policies from natural-language software documents
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
Enriching Documents with Examples: A Corpus Mining Approach
ACM Transactions on Information Systems (TOIS)
The Java Language Specification, Java SE 7 Edition
The Java Language Specification, Java SE 7 Edition
SmartSynth: synthesizing smartphone automation scripts from natural language
Proceeding of the 11th annual international conference on Mobile systems, applications, and services
Discovering essential code elements in informal documentation
Proceedings of the 2013 International Conference on Software Engineering
Hi-index | 0.00 |
When programmers encounter an unfamiliar API library, they often need to refer to its documentations, tutorials, or discussions on development forums to learn its proper usage. These API documents contain valuable information, but may also mislead programmers as they may contain errors (e.g., broken code names and obsolete code samples). Although most API documents are actively maintained and updated, studies show that many new and latent errors do exist. It is tedious and error-prone to find such errors manually as API documents can be enormous with thousands of pages. Existing tools are ineffective in locating documentation errors because traditional natural language (NL) tools do not understand code names and code samples, and traditional code analysis tools do not understand NL sentences. In this paper, we propose the first approach, DOCREF, specifically designed and developed to detect API documentation errors. We formulate a class of inconsistencies to indicate potential documentation errors, and combine NL and code analysis techniques to detect and report such inconsistencies. We have implemented DOCREF and evaluated its effectiveness on the latest documentations of five widely-used API libraries. DOCREF has detected more than 1,000 new documentation errors, which we have reported to the authors. Many of the errors have already been confirmed and fixed, after we reported them.