@inproceedings{MTMT:30602653, title = {Incremental Parsing of Large Legacy C/C++ Software}, url = {https://m2.mtmt.hu/api/publication/30602653}, author = {Fekete, Anett and Cserép, Máté}, booktitle = {Proceedings of the 21st International Multiconference on Information Society (IS)}, unique-id = {30602653}, abstract = {CodeCompass is an open source project intended to support code comprehension by providing textual information, source code metrics, version control information and visualization views of the file and directory level relations for the analyzed project. Regarding the typical software development methodologies (especially the agile ones), only a smaller portion of the code base is affected by any change during a shorter amount of time (e.g. between nightly builds), therefore parsing the entire project each time is unnecessary and expensive. A newly introduced feature, incremental parsing is intended to solve this problem by only processing files that have been recently changed and leaving the rest alone. This is achieved by the maintenance of the project workspace database followed by the partial parsing of the project. The feature has been tested both on medium and large scale projects and proved to be an effective tool in CodeCompass.}, year = {2018}, pages = {51-54}, orcid-numbers = {Cserép, Máté/0000-0002-3168-7736} } @inproceedings{MTMT:3384852, title = {CodeCompass. An Open Software Comprehension Framework for Industrial Usage}, url = {https://m2.mtmt.hu/api/publication/3384852}, author = {Porkoláb, Zoltán and Brunner, Tibor and Dániel, Krupp and Márton, Csordás}, booktitle = {ICPC 2018}, doi = {10.1145/3196321.3197546}, unique-id = {3384852}, year = {2018}, pages = {361-369}, orcid-numbers = {Porkoláb, Zoltán/0000-0001-6819-0224} } @inproceedings{MTMT:3288718, title = {Towards Better Symbol Resolution for C/C++ Programs: A Cluster-Based Solution}, url = {https://m2.mtmt.hu/api/publication/3288718}, author = {Szalay, Richárd and Porkoláb, Zoltán and Dániel, Krupp}, booktitle = {2017 IEEE 17th International Working Conference on Source Code Analysis and Manipulation (SCAM) (2017)}, doi = {10.1109/SCAM.2017.15}, unique-id = {3288718}, abstract = {Resolving symbol references is an important part of many application areas from development environments to various static analyser tools, especially when it is used for code comprehension purposes. Different occurrences of the same program elements, like function definitions and their call sites, variable declarations and their usage, or type definitions and their applications should be connected. In case of the C++ programming language, the most current tools use mangled names to correlate symbols, e.g. when implementing actions like "go to definition" or "list all references". However, for large projects, where multiple binaries are created, symbol resolution based on mangled names can be, and usually is, ambiguous. This leads to inaccurate behaviour even in major development tools. In this paper we explore the reason of this ambiguity, and propose our clustering algorithm based on essential build information to improve the accuracy of symbol resolution. We implemented our method as part of the CodeCompass open source code comprehension tool and measured its efficiency.}, year = {2017}, pages = {101-110}, orcid-numbers = {Szalay, Richárd/0000-0001-5684-5158; Porkoláb, Zoltán/0000-0001-6819-0224} } @article{MTMT:2801222, title = {Visualization Techniques of Components for Large Legacy C/C++ software}, url = {https://m2.mtmt.hu/api/publication/2801222}, author = {Cserép, Máté and Krupp, Dániel}, journal-iso = {STUD UNIV BABES-BOLYAI SER INFO}, journal = {STUDIA UNIVERSITATIS BABES-BOLYAI SERIES INFORMATICA}, volume = {59}, unique-id = {2801222}, issn = {1224-869X}, year = {2014}, eissn = {2065-9601}, pages = {59-74}, orcid-numbers = {Cserép, Máté/0000-0002-3168-7736} }