Cneps: A Precise Approach for Examining Dependencies among Third-Party C/C++ Open-Source Components
The rise in open-source software (OSS) reuse has led to intricate dependencies among third-party components, increasing the demand for precise dependency analysis. However, owing to the presence of reused files that are difficult to identify the originating components (i.e., indistinguishable files) and duplicated components, precisely identifying component dependencies is becoming challenging.
In this paper, we present Cneps, a precise approach for examining dependencies in reused C/C++ OSS components. The key idea of Cneps is to use a novel granularity called a module, which represents a minimum unit (i.e., set of source files) that can be reused as a library from another project. By examining dependencies based on modules instead of analyzing single reused files, Cneps can precisely identify dependencies in the target project, even in the presence of indistinguishable files. To differentiate duplicated components, Cneps examines the cloned paths and originating projects of each component, enabling precise identification of dependencies associated with them. Experimental results on 100 popular C/C++ software show that Cneps outperforms a state-of-the-art approach by identifying twice as many dependencies. Cneps could identify 435 dependencies with 90.8% precision and 93.5% recall in less than 10 seconds per application on average, whereas the existing approach hardly achieved 63% precision and 43.2% recall.
Fri 19 AprDisplayed time zone: Lisbon change
16:00 - 17:30 | Evolution 6New Ideas and Emerging Results / Research Track / Demonstrations / Software Engineering Education and Training at Glicínia Quartin Chair(s): Kiev Gama Federal University of Pernambuco (UFPE) | ||
16:00 15mTalk | Cneps: A Precise Approach for Examining Dependencies among Third-Party C/C++ Open-Source Components Research Track Yoonjong Na Korea University, Seunghoon Woo Korea University, Joomyeong Lee Korea University, Heejo Lee Korea University | ||
16:15 15mTalk | A Study on the Pythonic Functional Constructs' Understandability Research Track Cyrine Zid École Polytechnique de Montréal, Fiorella Zampetti University of Sannio, Italy, Giulio Antoniol Ecole Polytechnique de Montreal, Massimiliano Di Penta University of Sannio, Italy Pre-print | ||
16:30 15mTalk | Introducing Computer Science Undergraduate Students to DevOps Technologies from Software Engineering Fundamentals Software Engineering Education and Training Edgar Sarmiento-Calisaya , Alvaro Mamani-Aliaga Universidad Nacional de San Agustín de Arequipa, Julio Cesar Leite Federal University of Bahia (UFBA) DOI | ||
16:45 15mTalk | Bridging the Theory-Practice Gap in a Maintenance Programming Course: An Experience Report Software Engineering Education and Training Sofia Ouhbi Uppsala University | ||
17:00 7mTalk | Deductive Software Architecture Recovery via Chain-of-thought Prompting New Ideas and Emerging Results Satrio Adi Rukmono , Lina Ochoa Eindhoven University of Technology, Michel Chaudron Eindhoven University of Technology, The Netherlands | ||
17:07 7mTalk | Reproducibility of Build Environments through Space and Time New Ideas and Emerging Results Julien Malka LTCI, Télécom Paris, Institut Polytechnique de Paris, France, Stefano Zacchiroli Télécom Paris, Polytechnic Institute of Paris, Théo Zimmermann Télécom Paris, Polytechnic Institute of Paris Pre-print | ||
17:14 7mTalk | APICIA: An API Change Impact Analyzer for Android Apps Demonstrations Tarek Mahmud Texas State University, Meiru Che Central Queensland University, Jihan Rouijel Texas State University, Mujahid Khan Texas State University, Guowei Yang University of Queensland | ||
17:21 7mTalk | RAT: A Refactoring-Aware Tool for Tracking Code History Demonstrations Feifei Niu University of Ottawa, Junqian Shao Nanjing University, Chaofan Xu Nanjing University, Christoph Mayr-Dorn JOHANNES KEPLER UNIVERSITY LINZ, Wesley Assunção North Carolina State University, Liguo Huang Southern Methodist University, Chuanyi Li Nanjing University, Jidong Ge Nanjing University, Bin Luo Nanjing University, Alexander Egyed Johannes Kepler University Linz |