skip to main content
10.1145/3377812.3382136acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
demonstration

GeekyNote: a technical documentation tool with coverage, backtracking, traces, and couplings

Published:01 October 2020Publication History

ABSTRACT

Understanding an unfamiliar program is always a daunting task for any programmer, either experienced or inexperienced. Many studies have shown that even an experienced programmer who is already familiar with the code may still need to rediscover the code frequently during software maintenance. The difficulties of program comprehension is much more intense when a system is completely new. One well-known solution to this notorious problem is to create effective technical documentation to make up for the lack of knowledge.

The purpose of technical documentation is to achieve the transfer of knowledge. However, creating effective technical documentation has been impeded by many problems in practice [1]. In this paper, we propose a novel tool called GeekyNote to address the major challenges in technical documentation. The key ideas GeekyNote proposes are: (1) documents are annotated to versioned source code transparently; (2) formal textual writings are discouraged and screencasts (or other forms of documents) are encouraged; (3) the up-to-dateness between documents and code can be detected, measured, and managed; (4) the documentation that works like a debugging-trace is supported; (5) couplings can be easily created and managed for future maintenance needs; (6) how good a system is documented can be measured. A demo video can be accessed at https://youtu.be/cBueuPVDgWM.

References

  1. Emad Aghajani, Csaba Nagy, Olga Lucero Vega-Márquez, Mario Linares-Vásquez, Laura Moreno, Gabriele Bavota, and Michele Lanza. 2019. Software documentation issues unveiled. In Proceedings of the 41st International Conference on Software Engineering, ICSE 2019, Montreal, QC, Canada, May 25-31, 2019, Gunter Mussbacher, Joanne M. Atlee, and Tevfik Bultan (Eds.). IEEE / ACM, 1199--1210. https://dl.acm.org/citation.cfm?id=3339655Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Yung-Pin Cheng, Jhih-Hao Chen, and Yu-Ying Yu. 2013. Executable Program Documentation Based on Debugging Break Points. In 20th Asia-Pacific Software Engineering Conference, APSEC 2013, Ratchathewi, Bangkok, Thailand, December 2-5, 2013 - Volume 1. IEEE, 199--206. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Andrew Forward and Timothy Lethbridge. 2002. The relevance of software documentation, tools and technologies: a survey. In Proceedings of the 2002 ACM Symposium on Document Engineering, McLean, Virginia, USA, November 8-9, 2002. ACM, 26--33. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. InfoQ. 2019. How do you document your APIs. Available as https://www.infoq.com/research/api-documentation/.Google ScholarGoogle Scholar
  5. IsCoollab. 2018. KORAT - a Human-Computer Interaction Robot. Available as https://iscoollab.com.Google ScholarGoogle Scholar
  6. Mira Kajko-Mattsson. 2005. A Survey of Documentation Practice within Corrective Maintenance. Empirical Software Engineering 10, 1 (2005), 31--55. http://www.springerlink.com/index/10.1023/B:LIDA.0000048322.42751.caGoogle ScholarGoogle ScholarDigital LibraryDigital Library
  7. N. Pennington. 1987. Stimulus structures and mental representations in expert comprehension of computer programs. Cognitive Psychology 19 (1987), 295--341.Google ScholarGoogle ScholarCross RefCross Ref
  8. Pablo Romero, Benedict du Boulay, Richard Cox, Rudi Lutz, and Sallyann Bryant. 2007. Debugging strategies and tactics in a multi-representation software environment. International Journal of Man-Machine Studies 65, 12 (2007), 992--1009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Christoph Johann Stettina and Werner Heijstek. 2011. Necessary and neglected?: an empirical study of internal documentation in agile software development teams. In Proceedings of the 29th ACM international conference on Design of communication, Pisa, Italy, October 3-5, 2011, Aristidis Protopsaltis, Nicolas Spyratos, Carlos J. Costa, and Carlo Meghini (Eds.). ACM, 159--166. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Junji Zhi, Vahid Garousi-Yusifoglu, Bo Sun, Golara Garousi, S. M. Shahnewaz, and Günther Ruhe. 2015. Cost, benefits and quality of software development documentation: A systematic mapping. Journal of Systems and Software 99 (2015), 175--198. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. GeekyNote: a technical documentation tool with coverage, backtracking, traces, and couplings

          Recommendations

          Comments

          Login options

          Check if you have access through your login credentials or your institution to get full access on this article.

          Sign in
          • Published in

            cover image ACM Conferences
            ICSE '20: Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering: Companion Proceedings
            June 2020
            357 pages
            ISBN:9781450371223
            DOI:10.1145/3377812

            Copyright © 2020 Owner/Author

            Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the Owner/Author.

            Publisher

            Association for Computing Machinery

            New York, NY, United States

            Publication History

            • Published: 1 October 2020

            Check for updates

            Qualifiers

            • demonstration

            Acceptance Rates

            Overall Acceptance Rate276of1,856submissions,15%

            Upcoming Conference

            ICSE 2025

          PDF Format

          View or Download as a PDF file.

          PDF

          eReader

          View online with eReader.

          eReader