ICSE 2024
Fri 12 - Sun 21 April 2024 Lisbon, Portugal
Fri 19 Apr 2024 16:00 - 16:15 at Glicínia Quartin - Evolution 6 Chair(s): Kiev Gama

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 Apr

Displayed time zone: Lisbon change

16:00 - 17:30
16:00
15m
Talk
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
15m
Talk
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
15m
Talk
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
15m
Talk
Bridging the Theory-Practice Gap in a Maintenance Programming Course: An Experience Report
Software Engineering Education and Training
Sofia Ouhbi Uppsala University
17:00
7m
Talk
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
7m
Talk
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
7m
Talk
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
7m
Talk
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