{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,3,26]],"date-time":"2025-03-26T08:17:37Z","timestamp":1742977057455,"version":"3.40.3"},"publisher-location":"Cham","reference-count":48,"publisher":"Springer International Publishing","isbn-type":[{"type":"print","value":"9783031428326"},{"type":"electronic","value":"9783031428333"}],"license":[{"start":{"date-parts":[[2023,1,1]],"date-time":"2023-01-01T00:00:00Z","timestamp":1672531200000},"content-version":"tdm","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"},{"start":{"date-parts":[[2023,1,1]],"date-time":"2023-01-01T00:00:00Z","timestamp":1672531200000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/www.springernature.com\/gp\/researchers\/text-and-data-mining"}],"content-domain":{"domain":["link.springer.com"],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2023]]},"DOI":"10.1007\/978-3-031-42833-3_6","type":"book-chapter","created":{"date-parts":[[2023,10,17]],"date-time":"2023-10-17T12:02:09Z","timestamp":1697544129000},"page":"165-201","update-policy":"https:\/\/doi.org\/10.1007\/springer_crossmark_policy","source":"Crossref","is-referenced-by-count":1,"title":["Towards Better Tool Support for\u00a0Code Comprehension"],"prefix":"10.1007","author":[{"ORCID":"https:\/\/orcid.org\/0000-0002-0834-0996","authenticated-orcid":false,"given":"Tibor","family":"Brunner","sequence":"first","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-3168-7736","authenticated-orcid":false,"given":"M\u00e1t\u00e9","family":"Cser\u00e9p","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0001-8466-7096","authenticated-orcid":false,"given":"Anett","family":"Fekete","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0002-6581-8263","authenticated-orcid":false,"given":"M\u00f3nika","family":"M\u00e9sz\u00e1ros","sequence":"additional","affiliation":[]},{"ORCID":"https:\/\/orcid.org\/0000-0001-6819-0224","authenticated-orcid":false,"given":"Zolt\u00e1n","family":"Porkol\u00e1b","sequence":"additional","affiliation":[]}],"member":"297","published-online":{"date-parts":[[2023,10,18]]},"reference":[{"key":"6_CR1","first-page":"104","volume":"3","author":"V Ferraro-Esparza","year":"2002","unstructured":"Ferraro-Esparza, V., Gudmandsen, M., Olsson, K.: Ericsson telecom server platform 4. Ericsson Rev. 3, 104\u2013113 (2002)","journal-title":"Ericsson Rev."},{"key":"6_CR2","first-page":"10","volume":"4","author":"M Enderin","year":"2001","unstructured":"Enderin, M., LeCorney, D., Lindberg, M., Lundqvist, T.: Axe 810-the evolution continues. Ericsson Rev. 4, 10\u201323 (2001)","journal-title":"Ericsson Rev."},{"key":"6_CR3","series-title":"Lecture Notes in Computer Science","doi-asserted-by":"publisher","first-page":"519","DOI":"10.1007\/3-540-63531-9_34","volume-title":"Software Engineering \u2014 ESEC\/FSE\u201997","author":"E-A Karlsson","year":"1997","unstructured":"Karlsson, E.-A., Taxen, L.: Incremental development for AXE 10. In: Jazayeri, M., Schauer, H. (eds.) ESEC\/SIGSOFT FSE -1997. LNCS, vol. 1301, pp. 519\u2013520. Springer, Heidelberg (1997). https:\/\/doi.org\/10.1007\/3-540-63531-9_34"},{"key":"6_CR4","unstructured":"Brunner, T.: CodeCompass: an extensible code comprehension framework. E\u00f6tv\u00f6s Lor\u00e1nd University, Faculty of Informatics, Budapest, Tech. Rep. IK-TR1 (2018)"},{"key":"6_CR5","unstructured":"Szab\u00f3, C.: Programme of the winter school of project no.2017-1-sk01-ka203-035402: \u201cfocusing education on composability, comprehensibility and correctness of working software\u201d. TUKE Kosice (2018) . Accessed 02 July 2019. https:\/\/kpi.fei.tuke.sk\/sites\/www2.kpi.fei.tuke.sk\/files\/personal\/programme_of_the_first_intensive_programme_for_higher_education_learners_in_the_frame_of_the_project.pdf"},{"key":"6_CR6","unstructured":"CodeCompass. https:\/\/github.com\/Ericsson\/CodeCompass"},{"issue":"8","key":"6_CR7","doi-asserted-by":"publisher","first-page":"44","DOI":"10.1109\/2.402076","volume":"28","author":"A Von Mayrhauser","year":"1995","unstructured":"Von Mayrhauser, A., Vans, A.M.: Program comprehension during software maintenance and evolution. Computer 28(8), 44\u201355 (1995)","journal-title":"Computer"},{"key":"6_CR8","doi-asserted-by":"crossref","unstructured":"Storey, M.-A.: Theories, methods and tools in program comprehension: past, present and future. In: 13th International Workshop on Program Comprehension (IWPC2005), pp. 181\u2013191. IEEE (2005)","DOI":"10.1109\/WPC.2005.38"},{"key":"6_CR9","unstructured":"O\u2019brien, M.P.: Software comprehension-a review & research direction. Department of Computer Science & Information Systems University of Limerick, Ireland, Technical Report (2003)"},{"issue":"6","key":"6_CR10","doi-asserted-by":"publisher","first-page":"737","DOI":"10.1016\/S0020-7373(77)80039-4","volume":"9","author":"R Brooks","year":"1977","unstructured":"Brooks, R.: Towards a theory of the cognitive processes in computer programming. Int. J. Man Mach. Stud. 9(6), 737\u2013751 (1977)","journal-title":"Int. J. Man Mach. Stud."},{"key":"6_CR11","unstructured":"Soloway, E., Adelson, B., Ehrlich, K.: Knowledge and processes in the comprehension of computer programs. The Nature of Expertise, pp. 129\u2013152 (1988)"},{"key":"6_CR12","unstructured":"Pennington, N.: Comprehension strategies in programming. In: Empirical Studies of Programmers: Second Workshop, pp. 100\u2013113. Ablex Publishing Corp. (1987)"},{"issue":"3","key":"6_CR13","doi-asserted-by":"publisher","first-page":"219","DOI":"10.1007\/BF00977789","volume":"8","author":"B Shneiderman","year":"1979","unstructured":"Shneiderman, B., Mayer, R.: Syntactic\/semantic interactions in programmer behavior: a model and experimental results. Int. J. Comput. Inf. Sci. 8(3), 219\u2013238 (1979)","journal-title":"Int. J. Comput. Inf. Sci."},{"key":"6_CR14","doi-asserted-by":"crossref","unstructured":"Levy, O., Feitelson, D.G.: Understanding large-scale software: a hierarchical view. In: Proceedings of the 27th International Conference on Program Comprehension, pp. 283\u2013293. IEEE Press (2019)","DOI":"10.1109\/ICPC.2019.00047"},{"issue":"4","key":"6_CR15","doi-asserted-by":"publisher","first-page":"325","DOI":"10.1016\/0164-1212(87)90032-X","volume":"7","author":"S Letovsky","year":"1987","unstructured":"Letovsky, S.: Cognitive processes in program comprehension. J. Syst. Softw. 7(4), 325\u2013339 (1987)","journal-title":"J. Syst. Softw."},{"key":"6_CR16","doi-asserted-by":"crossref","unstructured":"Marcus, A., Sergeyev, A., Rajlich, V., Maletic, J.I.: An information retrieval approach to concept location in source code. In: 11th Working Conference on Reverse Engineering, pp. 214\u2013223. IEEE (2004)","DOI":"10.1109\/WCRE.2004.10"},{"key":"6_CR17","doi-asserted-by":"crossref","unstructured":"Rajlich, V., Wilde, N.: The role of concepts in program comprehension. In: Proceedings 10th International Workshop on Program Comprehension, pp. 271\u2013278. IEEE (2002)","DOI":"10.1109\/WPC.2002.1021348"},{"key":"6_CR18","unstructured":"3GPP technical specifications. https:\/\/www.3gpp.org\/specifications\/79-specification-numbering"},{"key":"6_CR19","volume-title":"Generative Programming: Methods","author":"C Krzysztof","year":"2000","unstructured":"Krzysztof, C., Eisenecker, U.W.: Generative Programming: Methods. Addison-Wesley, Tools and Applications (2000)"},{"key":"6_CR20","unstructured":"Hennert, L., Larruy, A.: TelORB- the distributed communications operating system. Ericsson Rev.(Engl. Ed.) 76(3), 156\u2013167 (1999)"},{"key":"6_CR21","unstructured":"xxx"},{"key":"6_CR22","unstructured":"Apache thrift. https:\/\/Thrift.apache.org\/"},{"key":"6_CR23","unstructured":"Woboq. https:\/\/woboq.com\/codebrowser.html"},{"key":"6_CR24","unstructured":"Opengrok. https:\/\/opengrok.github.io\/OpenGrok"},{"key":"6_CR25","unstructured":"Doxygen. https:\/\/ctags.sourceforge.net"},{"key":"6_CR26","unstructured":"Ctags. https:\/\/www.stack.nl\/~dimitri\/doxygen\/"},{"key":"6_CR27","unstructured":"Henderson-Sellers, B.: Object-oriented metrics: measures of complexity. Prentice-Hall Inc. (1995)"},{"key":"6_CR28","doi-asserted-by":"publisher","first-page":"308","DOI":"10.1109\/TSE.1976.233837","volume":"4","author":"TJ McCabe","year":"1976","unstructured":"McCabe, T.J.: A complexity measure. IEEE Trans. Software Eng. 4, 308\u2013320 (1976)","journal-title":"IEEE Trans. Software Eng."},{"key":"6_CR29","unstructured":"CodeSurfer. https:\/\/www.grammatech.com\/products\/codesurfer"},{"key":"6_CR30","unstructured":"The clang JSON compilation database format specification. https:\/\/clang.llvm.org\/docs\/JSONCompilationDatabase.html"},{"key":"6_CR31","unstructured":"Fekete, A., Cser\u00e9p, M.: Incremental parsing of large legacy C\/C++ software. In: 21st International Multiconference on Information Society (IS), Collaboration, Software and Services in Information Society (CSS), vol. G, pp. 51\u201354 (2018)"},{"key":"6_CR32","unstructured":"Krupp, D., Orban, G., Horvath, G., Babati, B.: Industrial experiences with the clang static analysis toolset (2015)"},{"key":"6_CR33","first-page":"99","volume":"44","author":"G Horv\u00e1th","year":"2015","unstructured":"Horv\u00e1th, G., Pataki, N.: Clang matchers for verified usage of the c++ standard template library. Ann. Math. Inform. 44, 99\u2013109 (2015)","journal-title":"Ann. Math. Inform."},{"key":"6_CR34","doi-asserted-by":"crossref","unstructured":"Horv\u00e1th, G., Sz\u00e9csi, P., Gera, Z., Krupp, D., Pataki, N.: [Engineering Paper] Challenges of implementing cross translation unit analysis in clang static analyzer. In: 2018 IEEE 18th International Working Conference on Source Code Analysis and Manipulation (SCAM), pp. 171\u2013176. IEEE (2018)","DOI":"10.1109\/SCAM.2018.00027"},{"key":"6_CR35","unstructured":"Szalay, R., Porkol\u00e1b, Z.: Visualising compiler-generated special member functions of C++ types (2018)"},{"key":"6_CR36","doi-asserted-by":"crossref","unstructured":"De Alwis, B., Murphy, G.C.: Using visual momentum to explain disorientation in the eclipse IDE. In: Visual Languages and Human-Centric Computing (VL\/HCC2006), pp. 51\u201354. IEEE (2006)","DOI":"10.1109\/VLHCC.2006.49"},{"issue":"3","key":"6_CR37","doi-asserted-by":"publisher","first-page":"229","DOI":"10.1016\/S0020-7373(84)80043-7","volume":"21","author":"DD Woods","year":"1984","unstructured":"Woods, D.D.: Visual momentum: a concept to improve the cognitive coupling of person and computer. Int. J. Man Mach. Stud. 21(3), 229\u2013244 (1984)","journal-title":"Int. J. Man Mach. Stud."},{"key":"6_CR38","unstructured":"Herrmann, D., Brubaker, B., Yoder, C., Sheets, V., Tio, A.: Devices that remind (1999)"},{"key":"6_CR39","unstructured":"Microsoft Corporation: Language Server Protocol Specification. Tech. Rep. 3.14.0 (2018). https:\/\/microsoft.github.io\/language-server-protocol\/specification"},{"key":"6_CR40","doi-asserted-by":"crossref","unstructured":"M\u00e9sz\u00e1ros, M., Cser\u00e9p, M., Fekete, A.: Delivering comprehension features into source code editors through LSP. In: 2019 42nd International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO), pp. 1581\u20131586. IEEE (2019)","DOI":"10.23919\/MIPRO.2019.8756695"},{"key":"6_CR41","unstructured":"Microsoft Corporation. Language Server Extension Guide. https:\/\/code.visualstudio.com\/api\/language-extensions\/language-server-extension-guide"},{"issue":"4","key":"6_CR42","doi-asserted-by":"publisher","first-page":"434","DOI":"10.1109\/TSE.2008.26","volume":"34","author":"J Sillito","year":"2008","unstructured":"Sillito, J., Murphy, G.C., De Volder, K.: Asking and answering questions during a programming change task. IEEE Trans. Software Eng. 34(4), 434\u2013451 (2008)","journal-title":"IEEE Trans. Software Eng."},{"key":"6_CR43","unstructured":"Sillito, J., De Voider, K., Fisher, B., Murphy, G.: Managing software change tasks: an exploratory study. In: 2005 International Symposium on Empirical Software Engineering (2005), p. 10. IEEE (2005)"},{"key":"6_CR44","doi-asserted-by":"crossref","unstructured":"Kim, S., Zimmermann, T., Pan, K., James, E., et al.: Automatic identification of bug-introducing changes. In: 21st IEEE\/ACM International Conference on Automated Software Engineering (ASE2006), pp. 81\u201390. IEEE (2006)","DOI":"10.1109\/ASE.2006.23"},{"key":"6_CR45","unstructured":"Doxygen. https:\/\/www.stack.nl\/~dimitri\/doxygen\/"},{"key":"6_CR46","doi-asserted-by":"crossref","unstructured":"Hawes, N., Marshall, S., Anslow, C.: Codesurveyor: mapping large-scale software to aid in code comprehension. In: 2015 IEEE 3rd Working Conference on Software Visualization (VISSOFT), pp. 96\u2013105. IEEE (2015)","DOI":"10.1109\/VISSOFT.2015.7332419"},{"key":"6_CR47","doi-asserted-by":"crossref","unstructured":"Darvas, A., Konnerth, R.: System architecture recovery based on software structure model. In: 2016 13th Working IEEE\/IFIP Conference on Software Architecture (WICSA), pp. 109\u2013114. IEEE (2016)","DOI":"10.1109\/WICSA.2016.22"},{"issue":"7","key":"6_CR48","doi-asserted-by":"publisher","first-page":"588","DOI":"10.1109\/TSE.2005.77","volume":"31","author":"M de Jonge","year":"2005","unstructured":"de Jonge, M.: Build-level components. IEEE Trans. Software Eng. 31(7), 588\u2013600 (2005)","journal-title":"IEEE Trans. Software Eng."}],"container-title":["Lecture Notes in Computer Science","Composability, Comprehensibility and Correctness of Working Software"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/link.springer.com\/content\/pdf\/10.1007\/978-3-031-42833-3_6","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,10,30]],"date-time":"2024-10-30T23:45:57Z","timestamp":1730331957000},"score":1,"resource":{"primary":{"URL":"https:\/\/link.springer.com\/10.1007\/978-3-031-42833-3_6"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023]]},"ISBN":["9783031428326","9783031428333"],"references-count":48,"URL":"https:\/\/doi.org\/10.1007\/978-3-031-42833-3_6","relation":{},"ISSN":["0302-9743","1611-3349"],"issn-type":[{"type":"print","value":"0302-9743"},{"type":"electronic","value":"1611-3349"}],"subject":[],"published":{"date-parts":[[2023]]},"assertion":[{"value":"18 October 2023","order":1,"name":"first_online","label":"First Online","group":{"name":"ChapterHistory","label":"Chapter History"}},{"value":"CEFP","order":1,"name":"conference_acronym","label":"Conference Acronym","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Central European Functional Programming School","order":2,"name":"conference_name","label":"Conference Name","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Budapest","order":3,"name":"conference_city","label":"Conference City","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Hungary","order":4,"name":"conference_country","label":"Conference Country","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"2019","order":5,"name":"conference_year","label":"Conference Year","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"17 June 2019","order":7,"name":"conference_start_date","label":"Conference Start Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"21 June 2019","order":8,"name":"conference_end_date","label":"Conference End Date","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"8","order":9,"name":"conference_number","label":"Conference Number","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"cefp2019","order":10,"name":"conference_id","label":"Conference ID","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"https:\/\/people.inf.elte.hu\/cefp\/index.html","order":11,"name":"conference_url","label":"Conference URL","group":{"name":"ConferenceInfo","label":"Conference Information"}},{"value":"Single-blind","order":1,"name":"type","label":"Type","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Easychair","order":2,"name":"conference_management_system","label":"Conference Management System","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"13","order":3,"name":"number_of_submissions_sent_for_review","label":"Number of Submissions Sent for Review","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"7","order":4,"name":"number_of_full_papers_accepted","label":"Number of Full Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"4","order":5,"name":"number_of_short_papers_accepted","label":"Number of Short Papers Accepted","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"54% - The value is computed by the equation \"Number of Full Papers Accepted \/ Number of Submissions Sent for Review * 100\" and then rounded to a whole number.","order":6,"name":"acceptance_rate_of_full_papers","label":"Acceptance Rate of Full Papers","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"2","order":7,"name":"average_number_of_reviews_per_paper","label":"Average Number of Reviews per Paper","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"1","order":8,"name":"average_number_of_papers_per_reviewer","label":"Average Number of Papers per Reviewer","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}},{"value":"Yes","order":9,"name":"external_reviewers_involved","label":"External Reviewers Involved","group":{"name":"ConfEventPeerReviewInformation","label":"Peer Review Information (provided by the conference organizers)"}}]}}