·¬ÇÑÉçÇø

Event Details

An Analysis of Library Usage in the C++ Code Base of Fedora Linux 37

Presenter: Jiachao Deng
Supervisor:

Date: Thu, October 17, 2024
Time: 14:30:00 - 00:00:00
Place: Zoom, link below.

ABSTRACT

Abstract:

C++ source code analysis is conducted at scale. A framework is proposed for analyzing the C++ codebase of operating systems that employ the dnf package manager, such as Fedora Linux and Red Hat Enterprise Linux. The framework can run an arbitrary static analysis tool over software packages that contain C++ code from compatible operating systems. In order to evaluate the effectiveness of the framework and to better understand how the C++ language is used in practice, a C++ analysis tool is developed to study library usage with a fine level of granularity, considering instances of uses of types, type aliases, member/non-member functions, variables, and enumerators.

The framework, combined with the C++ library usage analysis tool, is used to analyze 2379 software packages from the codebase of Fedora Linux 37. A total of 398065762 lines of C++ code is investigated, a scale not achieved by previous C++ research. Based on the Clang compiler front-end libraries, our library usage analysis tool addresses C++ parsing accuracy issues found in many other studies. Consequently, the tool extracts a reliable collection of library usage instances from C++ software.

Numerous observations are made regarding various aspects of library usage that can facilitate improved teaching of C++, aid in the refinement of C++ libraries, and help guide the future evolution of the C++ standard. For example, our analysis reveals that C++ programmers rarely use some C++ standard library algorithms designed for specialized purposes or combined operations. These algorithms often appear in less than 1% of all C++ software packages investigated. The low adoption rate suggests possible improvements by deprecating such algorithms to simplify the standard library interface. Such observations summarize current trends in C++ library usage and provide recommendations for improving the C++ language and its libraries.

 

Jiachao Deng is inviting you to a scheduled Zoom meeting.

Topic: Jiachao Deng, ECE Graduate Seminar, An Analysis of Library Usage in the C++ Code Base of Fedora Linux 37

Time: Oct 17, 2024 02:30 PM Pacific Time (US and Canada)

Join Zoom Meeting

Meeting ID: 840 4318 1194

Password: 277970

One tap mobile

+16475580588,,84043181194# Canada

+17789072071,,84043181194# Canada

Dial by your location

       +1 647 558 0588 Canada

       +1 778 907 2071 Canada

Meeting ID: 840 4318 1194

Find your local number: