Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data.

Patrick Jenkins

dblp:11/6928 · DBLP profile ↗
← Back
2ranked-venue papers
0as first author
1since 2021 · last 2024
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Security and privacy · 1 · 1 since 2021Software engineering, systems software and programming languages · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
1 paper
Programming languages and type systems · 70% Requirements engineering and software design · 30%

Topics — the 5 heaviest of 5, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Requirements engineering and software design › software design principles
information hiding
0.112008
Modular Information Hiding and Type-Safe Linking for C · IEEE Trans. Software Eng. 2008
Programming languages and type systems
module systems
0.112008
Modular Information Hiding and Type-Safe Linking for C · IEEE Trans. Software Eng. 2008
Programming languages and type systems › language-based security
type-safe linking
0.112008
Modular Information Hiding and Type-Safe Linking for C · IEEE Trans. Software Eng. 2008
Programming languages and type systems
type systems
0.112008
Modular Information Hiding and Type-Safe Linking for C · IEEE Trans. Software Eng. 2008
Requirements engineering and software design › modularity
modular programming
0.012008
Modular Information Hiding and Type-Safe Linking for C · IEEE Trans. Software Eng. 2008
YearPublicationVenuePosition
2024 IoT Device Classification Using Link-Level Features for Traditional Machine Learning and Large Language Models
Gabriel A. Morales, Farhan Tajwar Romit, Adam Bienek-Parrish, Patrick Jenkins, Rocky Slavin
ICISSP4
2008 Modular Information Hiding and Type-Safe Linking for C
abstract
This paper presents CMod, a novel tool that provides a sound module system for C. CMod works by enforcing four rules that are based on principles of modular reasoning and on current programming practice. CMod's rules flesh out the convention that .h header files are module interfaces and .c source files are module implementations. Although this convention is well-known, existing explanations of it are incomplete, omitting important subtleties needed for soundness. In contrast, we have proven formally that CMod's rules enforce both information hiding and type-safe linking. To use CMod, the programmer develops and builds their software as usual, redirecting the compiler and linker to CMod's wrappers. We evaluated CMod by applying it to 30 open source programs, totaling more than one million LoC. Violations to CMod's rules revealed more than a thousand information hiding errors, dozens of typing errors, and hundreds of cases that, although not currently bugs, make programming mistakes more likely as the code evolves. At the same time, programs generally adhere to the assumptions underlying CMod's rules, and so we could fix rule violations with a modest effort. We conclude that CMod can effectively support modular programming in C: it soundly enforces type-safe linking and information-hiding while being largely compatible with existing practice.
Saurabh Srivastava 0001, Michael Hicks 0001, Jeffrey S. Foster, Patrick Jenkins
IEEE Trans. Software Eng.4