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.

Christopher Theisen

dblp:21/8805 · DBLP profile ↗
← Back
6ranked-venue papers
4as first author
1since 2021 · last 2021
—ORCID · none

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

Software engineering, systems software and programming languages · 5 · 4 first-author · 1 since 2021Human-computer interaction and ubiquitous computing · 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
3 papers
Program analysis · 26% Software testing · 26% Empirical software engineering · 26%
Network and information security
2 papers
Systems and software security · 100%

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

TopicWeightPapersLastEvidence papers
Software testing › regression testing
test case prioritization
0.512021
Improving Vulnerability Inspection Efficiency Using Active Learning · IEEE Trans. Software Eng. 2021
Program analysis › static analysis
vulnerability detection
0.512021
Improving Vulnerability Inspection Efficiency Using Active Learning · IEEE Trans. Software Eng. 2021
Empirical software engineering › mining software repositories › vulnerability analysis
vulnerability prediction
0.512021
Improving Vulnerability Inspection Efficiency Using Active Learning · IEEE Trans. Software Eng. 2021
Systems and software security
vulnerability discovery
0.422015
Automated attack surface approximation · ESEC/SIGSOFT FSE 2015
Approximating Attack Surfaces with Stack Traces · ICSE (2) 2015
Debugging and program repair › crash report analysis
stack trace analysis
0.212015
Approximating Attack Surfaces with Stack Traces · ICSE (2) 2015
Software maintenance and evolution
software quality assurance
0.112021
Improving Vulnerability Inspection Efficiency Using Active Learning · IEEE Trans. Software Eng. 2021
Systems and software security
vulnerability prediction
0.112015
Approximating Attack Surfaces with Stack Traces · ICSE (2) 2015

Methods — techniques the papers use, named apart from their topics

stack trace analysis · 0.9support vector machine · 0.5active learning · 0.5vulnerability prediction models · 0.4
YearPublicationVenuePosition
2021 Improving Vulnerability Inspection Efficiency Using Active Learning
abstract
Software engineers can find vulnerabilities with less effort if they are directed towards code that might contain more vulnerabilities. HARMLESS is an incremental support vector machine tool that builds a vulnerability prediction model from the source code inspected to date, then suggests what source code files should be inspected next. In this way, HARMLESS can reduce the time and effort required to achieve some desired level of recall for finding vulnerabilities. The tool also provides feedback on when to stop (at that desired level of recall) while at the same time, correcting human errors by double-checking suspicious files. This paper evaluates HARMLESS on Mozilla Firefox vulnerability data. HARMLESS found 80, 90, 95, 99 percent of the vulnerabilities by inspecting 10, 16, 20, 34 percent of the source code files. When targeting 90, 95, 99 percent recall, HARMLESS could stop after inspecting 23, 30, 47 percent of the source code files. Even when human reviewers fail to identify half of the vulnerabilities (50 percent false negative rate), HARMLESS could detect 96 percent of the missing vulnerabilities by double-checking half of the inspected files. Our results serve to highlight the very steep cost of protecting software from vulnerabilities (in our case study that cost is, for example, the human effort of inspecting 28,750 × 20% = 5,750 source code files to identify 95 percent of the vulnerabilities). While this result could benefit the mission-critical projects where human resources are available for inspecting thousands of source code files, the research challenge for future work is how to further reduce that cost. The conclusion of this paper discusses various ways that goal might be achieved.
Zhe Yu 0002, Christopher Theisen, Laurie A. Williams, Tim Menzies
IEEE Trans. Software Eng.2
2020 A Case Study of Software Security Red Teams at Microsoft
abstract
The modern software security adversary employs persistent and evasive attack techniques, for example-using zero-day exploits that have not been disclosed publicly-to target high-profile companies for political and economic espionage or to exfiltrate sensitive data or intellectual property. To combat these threats, large organizations are adopting an emerging practice of staffing full-time offensive security teams, or red teams. To understand the workflows, culture, and day-to-day practices of software security engineers in red teams, we conducted 17 interviews with informants across five red teams within Microsoft. We found that software security engineers have substantial impact in the organization as they harden security practices, drawing from their diverse backgrounds. Software security engineers are both agile yet specialized in their activities, and closely emulate malicious adversaries-subject to some reasonable constraints. Although software security engineers are in some respects software engineers, they also have several consequential differences in how they write, maintain, and distribute software. The results of this work are applicable to practitioners, researchers, and toolsmiths who wish to understand how offensive security teams operate, situate, and collaborate with partner teams in their organization.
Justin Smith 0001, Christopher Theisen, Titus Barik
VL/HCC2
2020 Better together: Comparing vulnerability prediction models
Christopher Theisen, Laurie A. Williams
Inf. Softw. Technol.1
2018 Attack surface definitions: A systematic literature review
Christopher Theisen, Nuthan Munaiah, Mahran Al-Zyoud, Jeffrey C. Carver, Andrew Meneely, Laurie A. Williams
Inf. Softw. Technol.1
2015 Approximating Attack Surfaces with Stack Traces
abstract
Security testing and reviewing efforts are a necessity for software projects, but are time-consuming and expensive to apply. Identifying vulnerable code supports decision-making during all phases of software development. An approach for identifying vulnerable code is to identify its attack surface, the sum of all paths for untrusted data into and out of a system. Identifying the code that lies on the attack surface requires expertise and significant manual effort. This paper proposes an automated technique to empirically approximate attack surfaces through the analysis of stack traces. We hypothesize that stack traces from user-initiated crashes have several desirable attributes for measuring attack surfaces. The goal of this research is to aid software engineers in prioritizing security efforts by approximating the attack surface of a system via stack trace analysis. In a trial on Windows 8, the attack surface approximation selected 48.4% of the binaries and contained 94.6% of known vulnerabilities. Compared with vulnerability prediction models (VPMs) run on the entire codebase, VPMs run on the attack surface approximation improved recall from .07 to .1 for binaries and from .02 to .05 for source files. Precision remained at .5 for binaries, while improving from .5 to .69 for source files.
Christopher Theisen, Kim Herzig, Patrick Morrison, Brendan Murphy, Laurie A. Williams
ICSE (2)1
2015 Automated attack surface approximation
abstract
While software systems are being developed and released to consumers more rapidly than ever, security remains an important issue for developers. Shorter development cycles means less time for these critical security testing and review efforts. The attack surface of a system is the sum of all paths for untrusted data into and out of a system. Code that lies on the attack surface therefore contains code with actual exploitable vulnerabilities. However, identifying code that lies on the attack surface requires the same contested security resources from the secure testing efforts themselves. My research proposes an automated technique to approximate attack surfaces through the analysis of stack traces. We hypothesize that stack traces user crashes represent activity that puts the system under stress, and is therefore indicative of potential security vulnerabilities. The goal of this research is to aid software engineers in prioritizing security efforts by approximating the attack surface of a system via stack trace analysis. In a trial on Mozilla Firefox, the attack surface approximation selected 8.4% of files and contained 72.1% of known vulnerabilities. A similar trial was performed on the Windows 8 product.
Christopher Theisen
ESEC/SIGSOFT FSE1