Pub Date : 2018-09-01DOI: 10.1109/DySDoc3.2018.00011
M. J. Decker, Christian D. Newman, M. Collard, Drew T. Guarnera, Jonathan I. Maletic
A syntactic differencing tool (srcDiff) is used to present a summarization of the changes to a class occurring over a time line. An outline of the class is presented with the ability to drill down to individual members (methods and variables). The information is presented so that one can move to the next, or previous, version of the code and examine the changes that occur. The class summary view gives basic information such as the added, removed, or modified members. At the member level, a more detailed summarization of the changes is provided. At all levels, the version number, date, and author are provided.
{"title":"A Timeline Summarization of Code Changes","authors":"M. J. Decker, Christian D. Newman, M. Collard, Drew T. Guarnera, Jonathan I. Maletic","doi":"10.1109/DySDoc3.2018.00011","DOIUrl":"https://doi.org/10.1109/DySDoc3.2018.00011","url":null,"abstract":"A syntactic differencing tool (srcDiff) is used to present a summarization of the changes to a class occurring over a time line. An outline of the class is presented with the ability to drill down to individual members (methods and variables). The information is presented so that one can move to the next, or previous, version of the code and examine the changes that occur. The class summary view gives basic information such as the added, removed, or modified members. At the member level, a more detailed summarization of the changes is provided. At all levels, the version number, date, and author are provided.","PeriodicalId":375729,"journal":{"name":"2018 IEEE Third International Workshop on Dynamic Software Documentation (DySDoc3)","volume":"27 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127595459","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2018-09-01DOI: 10.1109/DySDoc3.2018.00009
Ahmed Tamrawi, Sharwan Ram, Payas Awadhutkar, Benjamin Holland, Ganesh Ram Santhanam, S. Kothari
This 2018 DOCGEN Challenge paper describes DynaDoc, an automated documentation system for on-demand context-specific documentation. A key novelty is the use of graph database technology with an eXtensible Common Software Graph Schema (XCSG). Using XCSG-based query language, DynaDoc can mine efficiently and accurately a variety of program artifacts and graph abstractions from millions of lines of code to provide semantically rich documentation. DynaDoc leverages the extensibility of XCSG to link program artifacts to supplementary information such as commits and issues.
{"title":"DynaDoc: Automated On-demand Context-Specific Documentation","authors":"Ahmed Tamrawi, Sharwan Ram, Payas Awadhutkar, Benjamin Holland, Ganesh Ram Santhanam, S. Kothari","doi":"10.1109/DySDoc3.2018.00009","DOIUrl":"https://doi.org/10.1109/DySDoc3.2018.00009","url":null,"abstract":"This 2018 DOCGEN Challenge paper describes DynaDoc, an automated documentation system for on-demand context-specific documentation. A key novelty is the use of graph database technology with an eXtensible Common Software Graph Schema (XCSG). Using XCSG-based query language, DynaDoc can mine efficiently and accurately a variety of program artifacts and graph abstractions from millions of lines of code to provide semantically rich documentation. DynaDoc leverages the extensibility of XCSG to link program artifacts to supplementary information such as commits and issues.","PeriodicalId":375729,"journal":{"name":"2018 IEEE Third International Workshop on Dynamic Software Documentation (DySDoc3)","volume":"42 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123784832","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2018-09-01DOI: 10.1109/DySDoc3.2018.00007
Christian D. Newman, Natalia Dragan, M. Collard, Jonathan I. Maletic, M. J. Decker, Drew T. Guarnera, Nahla J. Abid
A tool to automatically generate natural language documentation summaries for methods is presented. The approach uses prior work by the authors on stereotyping methods along with the source code analysis framework srcML. First, each method is automatically assigned a stereotype(s) based on static analysis and a set of heuristics. Then, the approach uses the stereotype information, static analysis, and predefined templates to generate a natural-language summary for each method. This summary is automatically added to the code base as a comment for each method. The predefined templates are designed to produce a generic summary for specific method stereotypes.
{"title":"Automatically Generating Natural Language Documentation for Methods","authors":"Christian D. Newman, Natalia Dragan, M. Collard, Jonathan I. Maletic, M. J. Decker, Drew T. Guarnera, Nahla J. Abid","doi":"10.1109/DySDoc3.2018.00007","DOIUrl":"https://doi.org/10.1109/DySDoc3.2018.00007","url":null,"abstract":"A tool to automatically generate natural language documentation summaries for methods is presented. The approach uses prior work by the authors on stereotyping methods along with the source code analysis framework srcML. First, each method is automatically assigned a stereotype(s) based on static analysis and a set of heuristics. Then, the approach uses the stereotype information, static analysis, and predefined templates to generate a natural-language summary for each method. This summary is automatically added to the code base as a comment for each method. The predefined templates are designed to produce a generic summary for specific method stereotypes.","PeriodicalId":375729,"journal":{"name":"2018 IEEE Third International Workshop on Dynamic Software Documentation (DySDoc3)","volume":"24 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125224497","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2018-09-01DOI: 10.1109/dysdoc3.2018.00002
{"title":"Title Page iii","authors":"","doi":"10.1109/dysdoc3.2018.00002","DOIUrl":"https://doi.org/10.1109/dysdoc3.2018.00002","url":null,"abstract":"","PeriodicalId":375729,"journal":{"name":"2018 IEEE Third International Workshop on Dynamic Software Documentation (DySDoc3)","volume":"52 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129958584","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2018-09-01DOI: 10.1109/dysdoc3.2018.00001
{"title":"Title Page i","authors":"","doi":"10.1109/dysdoc3.2018.00001","DOIUrl":"https://doi.org/10.1109/dysdoc3.2018.00001","url":null,"abstract":"","PeriodicalId":375729,"journal":{"name":"2018 IEEE Third International Workshop on Dynamic Software Documentation (DySDoc3)","volume":"52 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124885061","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
We develop a tool to generate an interactive API document that includes static and dynamic aspects of code examples. Our technique can help developers interactively eliminate redundant information in the sample code on the documents. The developers can then focus on the part of the sample code they are interested in through our generated document.
{"title":"Generating an Interactive View of Dynamic Aspects of API Usage Examples","authors":"Yoshiya Ishida, Yuu Arimatsu, Kaixie Lyu, Takagi Go, Kunihiro Noda, Takashi Kobayashi","doi":"10.1109/DySDoc3.2018.00013","DOIUrl":"https://doi.org/10.1109/DySDoc3.2018.00013","url":null,"abstract":"We develop a tool to generate an interactive API document that includes static and dynamic aspects of code examples. Our technique can help developers interactively eliminate redundant information in the sample code on the documents. The developers can then focus on the part of the sample code they are interested in through our generated document.","PeriodicalId":375729,"journal":{"name":"2018 IEEE Third International Workshop on Dynamic Software Documentation (DySDoc3)","volume":"163 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123062139","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2018-09-01DOI: 10.1109/DySDoc3.2018.00008
Drew T. Guarnera, M. Collard, Natalia Dragan, Jonathan I. Maletic, Christian D. Newman, M. J. Decker
The tool implements an approach that automatically derives and redocuments source code with the corresponding method and class stereotypes. The stereotype of each method is first computed via static analysis and a set of definitions. Then the class stereotype is computed based on the distribution of method stereotypes. The approach is fully automatic and highly scalable. It uses the srcML infrastructure to do the analysis and insertion of the stereotype information into the code.
{"title":"Automatically Redocumenting Source Code with Method and Class Stereotypes","authors":"Drew T. Guarnera, M. Collard, Natalia Dragan, Jonathan I. Maletic, Christian D. Newman, M. J. Decker","doi":"10.1109/DySDoc3.2018.00008","DOIUrl":"https://doi.org/10.1109/DySDoc3.2018.00008","url":null,"abstract":"The tool implements an approach that automatically derives and redocuments source code with the corresponding method and class stereotypes. The stereotype of each method is first computed via static analysis and a set of definitions. Then the class stereotype is computed based on the distribution of method stereotypes. The approach is fully automatic and highly scalable. It uses the srcML infrastructure to do the analysis and insertion of the stereotype information into the code.","PeriodicalId":375729,"journal":{"name":"2018 IEEE Third International Workshop on Dynamic Software Documentation (DySDoc3)","volume":"45 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116151477","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Open-source projects often have only incomplete and insufficient API documentations. To improve the efficiency of development and ensure the correctness of API usage, it is desired that the developers can be supported with automatically gener- ated documentation based on a combination of knowledge from different sources. In this paper, we describe OpenAPIDocGen, a system that can automatically generate API Documentations for open-source projects, including an overview of the system and the data sources and techniques used to generate different parts of the documentation.
{"title":"Automatic Generation of API Documentations for Open-Source Projects","authors":"Xin Peng, Yifan Zhao, Mingwei Liu, Fengyi Zhang, Yang Liu, Xin Wang, Zhenchang Xing","doi":"10.1109/DySDoc3.2018.00010","DOIUrl":"https://doi.org/10.1109/DySDoc3.2018.00010","url":null,"abstract":"Open-source projects often have only incomplete and insufficient API documentations. To improve the efficiency of development and ensure the correctness of API usage, it is desired that the developers can be supported with automatically gener- ated documentation based on a combination of knowledge from different sources. In this paper, we describe OpenAPIDocGen, a system that can automatically generate API Documentations for open-source projects, including an overview of the system and the data sources and techniques used to generate different parts of the documentation.","PeriodicalId":375729,"journal":{"name":"2018 IEEE Third International Workshop on Dynamic Software Documentation (DySDoc3)","volume":"57 6","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132982541","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2018-09-01DOI: 10.1109/DySDoc3.2018.00012
Daiki Takata, Abdulaziz Alhefdhi, Maipradit Rungroj, Hideaki Hata, K. Dam, T. Ishio, Ken-ichi Matsumoto
Given a Java class name as a query, Catalogen generates a catalog of code examples collected from open source software projects. A set of code examples are categorized based on the similarity of N-gram features in code, and automatically generated comments are attached to all code examples.
{"title":"Catalogen: Generating Catalogs of Code Examples Collected from OSS","authors":"Daiki Takata, Abdulaziz Alhefdhi, Maipradit Rungroj, Hideaki Hata, K. Dam, T. Ishio, Ken-ichi Matsumoto","doi":"10.1109/DySDoc3.2018.00012","DOIUrl":"https://doi.org/10.1109/DySDoc3.2018.00012","url":null,"abstract":"Given a Java class name as a query, Catalogen generates a catalog of code examples collected from open source software projects. A set of code examples are categorized based on the similarity of N-gram features in code, and automatically generated comments are attached to all code examples.","PeriodicalId":375729,"journal":{"name":"2018 IEEE Third International Workshop on Dynamic Software Documentation (DySDoc3)","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115593461","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Application programming interfaces (APIs) enable developers to increase their productivity; however, developers have to expend much of their time to search API usages because API documentation often lacks some types of information such as co-use relationships between API methods or code examples. In this paper, we propose a technique to automatically generate enriched API documentation. Our technique identifies groups of relevant API methods by analyzing a software change history and inserts those into standard API documentation. Using our document, developers can easily find relevant API methods interactively according to their various development purposes.
{"title":"Enriching API Documentation by Relevant API Methods Recommendation Based on Version History","authors":"Yuu Arimatsu, Yoshiya Ishida, Kunihiro Noda, Takashi Kobayashi","doi":"10.1109/DySDoc3.2018.00014","DOIUrl":"https://doi.org/10.1109/DySDoc3.2018.00014","url":null,"abstract":"Application programming interfaces (APIs) enable developers to increase their productivity; however, developers have to expend much of their time to search API usages because API documentation often lacks some types of information such as co-use relationships between API methods or code examples. In this paper, we propose a technique to automatically generate enriched API documentation. Our technique identifies groups of relevant API methods by analyzing a software change history and inserts those into standard API documentation. Using our document, developers can easily find relevant API methods interactively according to their various development purposes.","PeriodicalId":375729,"journal":{"name":"2018 IEEE Third International Workshop on Dynamic Software Documentation (DySDoc3)","volume":"25 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2018-09-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132098654","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}