Using code analysis to generate documentation
First Claim
Patent Images
1. documentation generation system, comprising:
- a computer-readable storage medium storing,an input component that receives existing documentation, an indication of one or more identified subject areas for which supplemental documentation is to be generated, the one or more identified subject areas including at least one of security, error handling, permissions, and exceptions and software comprised of at least one of source code, object code, and a binary instruction set;
a documentation generator that utilizes a code analyzer comprised of at least one of static code analysis and runtime analysis to identify those portions of the software that include at least one of the one or more identified subject areas by identifying functions and source code attributes related to the at least one of the one or more identified subject areas, wherein the documentation generator is configured to dynamically generate supplemental documentation at runtime for the identified portions of the software as the software is being analyzed and wherein the documentation generator is further configured to dynamically update the generated supplemental documentation upon detecting that a predetermined threshold amount of the software has been altered; and
a merge component that integrates the supplemental documentation with the existing documentation, wherein the identified portions of the software are not based upon information annotated by a programmer to accompany software but derived from functionality of the software.
2 Assignments
0 Petitions
Accused Products
Abstract
The subject invention relates to systems and methods that generate documentation discovered by programmatic and/or automatic code analysis. The generated documentation can be related to, for example, security, error conditions, permissions, exceptions, etc. Static code analysis and/or runtime analysis can be utilized to provide more complete, updated and/or accurate documentation as compared to conventional techniques by obtaining information, which can be utilized to automatically generate the documentation. According to an aspect of the subject invention, documentation can be generated that can supplement existing documentation.
71 Citations
26 Claims
-
1. documentation generation system, comprising:
a computer-readable storage medium storing, an input component that receives existing documentation, an indication of one or more identified subject areas for which supplemental documentation is to be generated, the one or more identified subject areas including at least one of security, error handling, permissions, and exceptions and software comprised of at least one of source code, object code, and a binary instruction set; a documentation generator that utilizes a code analyzer comprised of at least one of static code analysis and runtime analysis to identify those portions of the software that include at least one of the one or more identified subject areas by identifying functions and source code attributes related to the at least one of the one or more identified subject areas, wherein the documentation generator is configured to dynamically generate supplemental documentation at runtime for the identified portions of the software as the software is being analyzed and wherein the documentation generator is further configured to dynamically update the generated supplemental documentation upon detecting that a predetermined threshold amount of the software has been altered; and a merge component that integrates the supplemental documentation with the existing documentation, wherein the identified portions of the software are not based upon information annotated by a programmer to accompany software but derived from functionality of the software. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
16. A method that facilitates generating documentation, comprising:
employing a processor to facilitate generating documentation by, receiving existing documentation, an indication of one or more identified subject areas for which supplemental documentation is to be generated, the one or more identified subject areas including at least one of security, error handling, permissions, and exceptions and software comprised of at least one of source code, object code, and a binary instruction set; identifying those portions of the software that include at least one of the one or more identified subject areas by identifying functions and source code attributes related to the at least one of the one or more identified subject areas utilizing a code analyzer comprised of at least one of static code analysis and runtime analysis; dynamically generating supplemental documentation at runtime for the identified portions of the software as the software is being analyzed, wherein the dynamic documentation generation is further configured to dynamically update the generated supplemental documentation upon detecting that a predetermined threshold amount of the software has been altered; and merging the supplemental documentation with the existing documentation, wherein the identified portions of the software are not based upon information annotated by a programmer to accompany software but derived from functionality of the software. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23)
-
24. A computer-implemented system that facilitates generating documentation, comprising:
a computer-readable storage medium storing, means for receiving existing documentation, an indication of one or more identified subject areas for which supplemental documentation is to be generated, the one or more identified subject areas including at least one of security, error handling, permissions, and exceptions and software comprised of at least one of source code, object code, and a binary instruction set; means for analyzing coding aspects of at least one of source code, object code, and a binary instruction set to identify those portions of the software that include at least one of the one or more identified subject areas by identifying functions and source code attributes related to the at least one of the one or more identified subject areas; means for dynamically generating supplemental documentation at runtime that comprises identified portions of the software as the software is being analyzed, wherein the means for dynamically generating supplemental documentation is further configured to dynamically update the generated supplemental documentation upon detecting that a predetermined threshold amount of the software has been altered; and means for merging the supplemental documentation with the existing documentation, wherein the identified portions of the software are not based upon information annotated by a programmer to accompany software but derived from functionality of the software. - View Dependent Claims (25, 26)
Specification