bimodal software documentation software documentation
play

Bimodal Software Documentation Software Documentation [1985] - PowerPoint PPT Presentation

Christoph Treude Bimodal Software Documentation Software Documentation [1985] University of Adelaide 2 Software Documentation is everywhere [C. Parnin and C. Treude. Measuring API Documentation on the Web. Web2SE 11: 2nd Intl. Workshop


  1. Christoph Treude Bimodal Software Documentation

  2. Software Documentation [1985] University of Adelaide 2

  3. Software Documentation is everywhere [C. Parnin and C. Treude. Measuring API Documentation on the Web. Web2SE ’11: 2nd Int’l. Workshop on Web 2.0 for University of Adelaide 3 Software Engineering, p. 25-30]

  4. Software Documentation is everywhere 100% [C. Parnin and C. Treude. Measuring API Documentation on the Web. Web2SE ’11: 2nd Int’l. Workshop on Web 2.0 for University of Adelaide 4 Software Engineering, p. 25-30]

  5. Software Documentation is everywhere 100% 74% [C. Parnin and C. Treude. Measuring API Documentation on the Web. Web2SE ’11: 2nd Int’l. Workshop on Web 2.0 for University of Adelaide 5 Software Engineering, p. 25-30]

  6. Software Documentation is everywhere 100% 74% 59% [C. Parnin and C. Treude. Measuring API Documentation on the Web. Web2SE ’11: 2nd Int’l. Workshop on Web 2.0 for University of Adelaide 6 Software Engineering, p. 25-30]

  7. Software Documentation is everywhere 100% 74% 59% 44% [C. Parnin and C. Treude. Measuring API Documentation on the Web. Web2SE ’11: 2nd Int’l. Workshop on Web 2.0 for University of Adelaide 7 Software Engineering, p. 25-30]

  8. Software Documentation is everywhere 100% 74% 59% 44% 37% [C. Parnin and C. Treude. Measuring API Documentation on the Web. Web2SE ’11: 2nd Int’l. Workshop on Web 2.0 for University of Adelaide 8 Software Engineering, p. 25-30]

  9. Software Documentation is everywhere 100% 74% 59% 44% 37% 162 different domains in the top 10 for 99 queries [C. Parnin and C. Treude. Measuring API Documentation on the Web. Web2SE ’11: 2nd Int’l. Workshop on Web 2.0 for University of Adelaide 9 Software Engineering, p. 25-30]

  10. Software Documentation is everywhere Tensorflow Python API: 309 different domains in the top 10 for 2,192 queries 100% 59% 36% [C. Parnin and C. Treude. Measuring API Documentation on the Web. Web2SE ’11: 2nd Int’l. Workshop on Web 2.0 for University of Adelaide 10 Software Engineering, p. 25-30]

  11. Software Documentation is everywhere Tensorflow Python API: 309 different domains in the top 10 for 2,192 queries 100% 59% 36% jQuery Event API: 75 different domains in the top 10 for 57 queries 100% 100% 98% [C. Parnin and C. Treude. Measuring API Documentation on the Web. Web2SE ’11: 2nd Int’l. Workshop on Web 2.0 for University of Adelaide 11 Software Engineering, p. 25-30]

  12. Navigating documentation is not trivial University of Adelaide 12

  13. Navigating documentation is not trivial Common Tasks Link Link Link Link Link Link Link Link University of Adelaide 13

  14. Extracting tasks from documentation verb adjective noun [C. Treude, M. P. Robillard, and B. Dagenais. Extracting Development Tasks to Navigate Software Documentation. IEEE University of Adelaide 14 Trans. on Software Engineering, 41, 6, p. 565-581]

  15. Grammatical dependencies direct object: generate confirmation direct object: generate receipt [C. Treude, M. P. Robillard, and B. Dagenais. Extracting Development Tasks to Navigate Software Documentation. IEEE University of Adelaide 15 Trans. on Software Engineering, 41, 6, p. 565-581]

  16. Grammatical dependencies passive nominal subject: set size [C. Treude, M. P. Robillard, and B. Dagenais. Extracting Development Tasks to Navigate Software Documentation. IEEE University of Adelaide 16 Trans. on Software Engineering, 41, 6, p. 565-581]

  17. Grammatical dependencies passive nominal subject: set size adjective modifier: set thumbnail size [C. Treude, M. P. Robillard, and B. Dagenais. Extracting Development Tasks to Navigate Software Documentation. IEEE University of Adelaide 17 Trans. on Software Engineering, 41, 6, p. 565-581]

  18. Grammatical dependencies preposition: set thumbnail size in templates passive nominal subject: set size adjective modifier: set thumbnail size [C. Treude, M. P. Robillard, and B. Dagenais. Extracting Development Tasks to Navigate Software Documentation. IEEE University of Adelaide 18 Trans. on Software Engineering, 41, 6, p. 565-581]

  19. [C. Treude, M. Sicard, M. Klocke, and M. P. Robillard. TaskNav: Task-based Navigation of Software Documentation. ICSE University of Adelaide 19 ’15: 37th Int’l. Conf. on Software Engineering, p. 649-652]

  20. Software Documentation is everywhere 100% 74% 59% 44% 37% [C. Parnin and C. Treude. Measuring API Documentation on the Web. Web2SE ’11: 2nd Int’l. Workshop on Web 2.0 for University of Adelaide 20 Software Engineering, p. 25-30]

  21. [C. Treude and M. P. Robillard. Augmenting API Documentation with Insights from Stack Overflow. ICSE ’16: 38th Int’l. University of Adelaide 21 Conference on Software Engineering, p. 392-403]

  22. insight sentence a sentence from Stack Overflow that is related to a particular API type and that provides insight not contained in the API documentation of that type

  23. Supervised Insight Sentence Extractor Augment API documentation with insights from Stack Overflow 23

  24. Bimodal software documentation [B. A. Campbell and C. Treude. NLP2Code: Code Snippet Content Assist via Natural Language Tasks. ICSME ’17: 33rd Int’l. University of Adelaide 24 Conf. on Software Maintenance and Evolution, to appear]

  25. Challenges in Analyzing Documentation • Software documentation is technical and often contains references to code elements • Natural language text written by software developers may not obey all grammatical rules, e.g., – sentences that are grammatically incomplete – content that has not authored by a native speaker [F. N. A. Al Omran and C. Treude. Choosing an NLP Library for Analyzing Software Documentation: A Systematic Literature University of Adelaide 25 Review and a Series of Experiments. MSR '17: 14th Int’l. Conf. on Mining Software Repositories, p. 187-197]

  26. Comparing NLP libraries Returns the C++ variable. CoreNLP Returns the C++ variable. SyntaxNet Returns the C++ variable. spaCy Returns the C++ variable. NLTK [F. N. A. Al Omran and C. Treude. Choosing an NLP Library for Analyzing Software Documentation: A Systematic Literature University of Adelaide 26 Review and a Series of Experiments. MSR '17: 14th Int’l. Conf. on Mining Software Repositories, p. 187-197]

  27. Comparing NLP libraries Returns the C + + variable . CoreNLP Returns the C++ variable . SyntaxNet Returns the C++ variable . spaCy Returns the C++ variable . NLTK [F. N. A. Al Omran and C. Treude. Choosing an NLP Library for Analyzing Software Documentation: A Systematic Literature University of Adelaide 27 Review and a Series of Experiments. MSR '17: 14th Int’l. Conf. on Mining Software Repositories, p. 187-197]

  28. Comparing NLP libraries Returns the C + + variable . 1. different CoreNLP tokenization Returns the C++ variable . SyntaxNet Returns the C++ variable . spaCy Returns the C++ variable . NLTK [F. N. A. Al Omran and C. Treude. Choosing an NLP Library for Analyzing Software Documentation: A Systematic Literature University of Adelaide 28 Review and a Series of Experiments. MSR '17: 14th Int’l. Conf. on Mining Software Repositories, p. 187-197]

  29. Comparing NLP libraries Returns the C + + variable . NNS DT NN JJ CC JJ . 1. different CoreNLP tokenization Returns the C++ variable . VBZ DT NNP NN . SyntaxNet Returns the C++ variable . VBZ DT NNP NN . spaCy Returns the C++ variable . NNS DT NN JJ . NLTK [F. N. A. Al Omran and C. Treude. Choosing an NLP Library for Analyzing Software Documentation: A Systematic Literature University of Adelaide 29 Review and a Series of Experiments. MSR '17: 14th Int’l. Conf. on Mining Software Repositories, p. 187-197]

  30. Comparing NLP libraries Returns the C + + variable . NNS DT NN JJ CC JJ . 1. different CoreNLP tokenization Returns the C++ variable . VBZ DT NNP NN . 2. general SyntaxNet part of speech Returns the C++ variable . VBZ DT NNP NN . spaCy Returns the C++ variable . NNS DT NN JJ . NLTK [F. N. A. Al Omran and C. Treude. Choosing an NLP Library for Analyzing Software Documentation: A Systematic Literature University of Adelaide 30 Review and a Series of Experiments. MSR '17: 14th Int’l. Conf. on Mining Software Repositories, p. 187-197]

Recommend


More recommend