Demo Data from EDBT 2026 / reviewers in the wild / expert
Gary McGraw 0001
dblp:00/5145 · also Gary E. McGraw Jr.
· DBLP profile ↗
15ranked-venue papers
7as first author
0since 2021 · last 2007
0000-0003-2307-2739ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Security and privacy · 7 · 4 first-authorSoftware engineering, systems software and programming languages · 4 · 1 first-authorSystems, architecture and hardware · 2 · 1 first-authorArtificial intelligence and machine learning · 1Human-computer interaction and ubiquitous computing · 1 · 1 first-author
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.
| Network and information security
6 papers |
Systems and software security · 61% Cyber-physical and IoT security · 14% Cryptographic protocols and secure computation · 14% | |
| Software engineering, system software, and programming languages
5 papers |
Software testing · 85% Software maintenance and evolution · 15% | |
| Computer architecture, parallel and distributed computing, and storage systems
1 paper |
Embedded and real-time systems · 100% |
Topics — the 12 heaviest of 16, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Systems and software security › application security
game security |
0.1 | 1 | 2007 | Exploiting Online Games · USENIX ATC 2007 |
Software testing
test input generation |
0.1 | 3 | 2001 | Generating Software Test Data by Evolution · IEEE Trans. Software Eng. 2001 Automated Software Test Data Generation for Complex Programs · ASE 1998 Genetic Algorithms for Dynamic Test Data Generation · ASE 1997 |
Cyber-physical and IoT security
embedded system security |
0.0 | 1 | 2004 | Security as a new dimension in embedded system design · DAC 2004 |
Systems and software security
exploitation |
0.0 | 1 | 2004 | Exploiting Software · USENIX Security Symposium 2004 |
Embedded and real-time systems
embedded system design |
0.0 | 1 | 2004 | Security as a new dimension in embedded system design · DAC 2004 |
Embedded and real-time systems › embedded system security
secure embedded system |
0.0 | 1 | 2004 | Security as a new dimension in embedded system design · DAC 2004 |
Software testing › test generation › search-based test generation
evolutionary testing |
0.0 | 1 | 2001 | Generating Software Test Data by Evolution · IEEE Trans. Software Eng. 2001 |
Systems and software security
open source security |
0.0 | 1 | 2000 | Will Openish Source Really Improve Security · S&P 2000 |
Systems and software security
secure software development |
0.0 | 1 | 2000 | Will Openish Source Really Improve Security · S&P 2000 |
Web and mobile security
e-commerce security |
0.0 | 1 | 1998 | Weak links in e-commerce security: examples from the field · NDSS 1998 |
Systems and software security
vulnerability discovery |
0.0 | 1 | 1998 | An Automated Approach for Identifying Potential Vulnerabilities in Software · S&P 1998 |
Software testing › mutation testing
fault injection |
0.0 | 1 | 1998 | An Automated Approach for Identifying Potential Vulnerabilities in Software · S&P 1998 |
Methods — techniques the papers use, named apart from their topics
system-level design methodology · 0.1genetic algorithm · 0.1software fault injection · 0.0function minimization · 0.0field study · 0.0combinatorial optimization · 0.0random test generation · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2007 | Exploiting Online Games
Gary McGraw 0001 |
USENIX ATC | 1 |
| 2006 | Software Security: Building Security InabstractSummary form only given. Software security has come a long way in the last few years, but we've really only just begun. I will present a detailed approach to getting past theory and putting software security into practice. The three pillars of software security are applied risk management, software security best practices (which I call touchpoints), and knowledge. By describing a manageably small set of touchpoints based around the software artifacts that you already produce, I avoid religious warfare over process and get on with the business of software security. That means you can adopt the touchpoints without radically changing the way you work. The touchpoints I will describe include: code review using static analysis tools; architectural risk analysis; penetration testing; security testing; abuse case development; and security requirements. Like the yin and the yang, software security requires a careful balance-attack and defense, exploiting and designing, breaking and building-bound into a coherent package. Create your own Security Development Lifecycle by enhancing your existing software development lifecycle with the touchpoints Gary McGraw 0001 |
ISSRE | 1 |
| 2004 | Software Security Clue DistributionabstractSoftware security has blossomed nicely in the last few years with the appearance of new textbooks, new courses, and a government mandate, yet there are many people still to be educated. Savvy security people from the operations side tend to decry the cluelessness of software developers, putting the blame for our current software problems squarely on the shoulders of the "builders." However, builders cannot rightly be blamed for their lack of security knowledge, because security is only rarely a part of any standard curriculum. Getting the security message to developers, architects and other builders is an essential aspect of addressing the software security problem. Awareness training for software professionals is one way to do this. Integrating security thinking into the academic curriculum is another. Gary McGraw 0001 |
CSEE&T | 1 |
| 2004 | Security as a new dimension in embedded system designabstractThe growing number of instances of breaches in information security in the last few years has created a compelling case for efforts towards secure electronic systems. Embedded systems, which will be ubiquitously used to capture, store, manipulate, and access data of a sensitive nature, pose several unique and interesting security challenges. Security has been the subject of intensive research in the areas of cryptography, computing, and networking. However, despite these efforts, security is often mis-construed by designers as the hardware or software implementation of specific cryptographic algorithms and security protocols. In reality, it is an entirely new metric that designers should consider throughout the design process, along with other metrics such as cost, performance, and power..This paper is intended to introduce embedded system designers and design tool developers to the challenges involved in designing secure embedded systems. We attempt to provide a unified and holistic view of embedded system security by first analyzing the typical functional security requirements for embedded systems from an end-user perspective. We then identify the implied challenges for embedded system architects, as well as hardware and software designers (e.g., tamper-resistant embedded system design, processing requirements for security, impact of security on battery life for battery-powered systems, etc.). We also survey solution techniques to address these challenges, drawing from both current practice and emerging research, and identify open research problems that will require innovations in embedded system architecture and design methodologies. Srivaths Ravi 0001, Paul C. Kocher, Ruby B. Lee, Gary McGraw 0001, Anand Raghunathan |
DAC | 4 |
| 2004 | Exploiting Software
Gary McGraw 0001 |
USENIX Security Symposium | 1 |
| 2002 | On Bricks and Walls: Why Building Secure Software is Hard
Gary McGraw 0001 |
Comput. Secur. | 1 |
| 2002 | Token-based scanning of source code for security problemsabstractWe describe ITS4 , a tool for statically scanning C and C++ source code for security vulnerabilities. Compared to other approaches, our scanning technique stakes out a new middle ground between accuracy and efficiency. This method is efficient enough to offer real-time feedback to developers during coding while producing few false negatives. Unlike other techniques, our method is also simple enough to scan C++ code despite the complexities inherent in the language. Using ITS4 , we found new remotely exploitable vulnerabilities in a widely distributed software package as well as in a major piece of e-commerce software.We also describe functionality in more recent tools modeled after ITS4 , and discuss algorithms that could easily be used to augment these kinds of tools. Particularly, we describe a solution we have prototyped that allows for more rigorous analysis of C and C++ source code, without failing to analyze parts of the program due to preprocessor conditionals. John Viega, J. T. Bloch, Tadayoshi Kohno, Gary McGraw 0001 |
ACM Trans. Inf. Syst. Secur. | 4 |
| 2001 | Generating Software Test Data by EvolutionabstractThis paper discusses the use of genetic algorithms (GAs) for automatic software test data generation. This research extends previous work on dynamic test data generation where the problem of test data generation is reduced to one of minimizing a function. In our work, the function is minimized by using one of two genetic algorithms in place of the local minimization techniques used in earlier research. We describe the implementation of our GA-based system and examine the effectiveness of this approach on a number of programs, one of which is significantly larger than those for which results have previously been reported in the literature. We also examine the effect of program complexity on the test data generation problem by executing our system on a number of synthetic programs that have varying complexities. Christoph C. Michael, Gary McGraw 0001, Michael Schatz |
IEEE Trans. Software Eng. | 2 |
| 2000 | ITS4: A Static Vulnerability Scanner for C and C++ CodeabstractWe describe ITS4, a tool for statically scanning security-critical C source code for vulnerabilities. Compared to other approaches, our scanning technique stakes out a new middle ground between accuracy and efficiency. This method is efficient enough to offer real-time feedback to developers during coding while producing few false negatives. Unlike other techniques, our method is also simple enough to scan C++ code despite the complexities inherent in the language. Using ITS4 we found new remotely-exploitable vulnerabilities in a widely distributed software package as well as in a major piece of e-commerce software. The ITS4 source distribution is available at http://www.rstcorp.com/its4. John Viega, J. T. Bloch, Y. Kohno, Gary McGraw 0001 |
ACSAC | 4 |
| 2000 | Will Openish Source Really Improve SecurityabstractI am using the term openish source as a reaction to the fact that the OSI has hijacked the term open source and the natural definition most people likely intuit does not apply. The term I am using is ridiculous. I chose an intentionally ridiculous term to emphasize the silly nature of common arguments for making open source mean something it does not mean to most people. The openish source community claims that the movement towards providing free, source-code available programs will result in more secure software. This claim appears to be based on several fallacies briefly presented: the Microsoft fallacy; the Java fallacy; and the many-eyeballs fallacy. Gary McGraw 0001 |
S&P | 1 |
| 1998 | Automated Software Test Data Generation for Complex ProgramsabstractWe report on GADGET, a new software test generation system that uses combinatorial optimization to obtain condition/decision coverage of C/C++ programs. The GADGET system is fully automatic and supports all C/C++ language constructs. This allows us to generate tests for programs more complex than those previously reported in the literature. We address a number of issues that are encountered when automatically generating tests for complex software systems. These issues have not been discussed in earlier work on test-data generation, which concentrates on small programs (most often single functions) written in restricted programming languages. Christoph C. Michael, Gary McGraw 0001 |
ASE | 2 |
| 1998 | Weak links in e-commerce security: examples from the field
Gary McGraw 0001 |
NDSS | 1 |
| 1998 | An Automated Approach for Identifying Potential Vulnerabilities in SoftwareabstractThe paper presents results from analyzing the vulnerability of security-critical software applications to malicious threats and anomalous events using an automated fault injection analysis approach. The work is based on the well understood premise that a large proportion of security violations result from errors in software source code and configuration. The methodology employs software fault injection to force anomalous program states during the execution of software and observes their corresponding effects on system security. If insecure behaviour is detected, the perturbed location that resulted in the violation is isolated for further analysis and possibly retrofitting with fault tolerant mechanisms. Anup K. Ghosh, Tom O'Connor, Gary McGraw 0001 |
S&P | 3 |
| 1997 | Genetic Algorithms for Dynamic Test Data GenerationabstractIn software testing, it is often desirable to find test inputs that exercise specific program features. To find these inputs by hand is extremely time-consuming, especially when the software is complex. Therefore, numerous attempts have been made to automate the process. Random test data generation consists of generating test inputs at random, in the hope that they will exercise the desired software features. Often, the desired inputs must satisfy complex constraints, and this makes a random approach seem unlikely to succeed. In contrast, combinatorial optimization techniques, such as those using genetic algorithms, are meant to solve difficult problems involving the simultaneous satisfaction of many constraints. In this paper, we discuss experiments with a test generation problem that is harder than the ones discussed in earlier literature-we use a larger program and more complex test adequacy criteria. We find a widening gap between a technique based on genetic algorithms and those based on random test generation. Christoph C. Michael, Gary McGraw 0001, Michael Schatz, C. C. Walton |
ASE | 2 |
| 1993 | Case-based reasoning assisted explanation of genetic algorithm resultsabstractThis paper describes a system for explaining solutions generated by genetic algorithms (GAs) using tools developed for case-based reasoning (CBR). In addition, this work empirically supports the building block hypothesis (BBH) which states that genetic algorithms work by combining good sub-solutions called building blocks into complete solutions. Since the space of possible building blocks and their combinations is extremely large, solutions found by GAs are often opaque and cannot be easily explained. Ironically, much of the knowledge required to explain such solutions is implicit in the processing done by the GA. Our system extracts and processes historical information from the GA by using knowledge acquisition and analysis tools developed for case-based reasoning. If properly analysed, the resulting knowledge base can be used: to shed light on the nature of the search space; to explain how a solution evolved; to discover its building blocks; and to justify why it works. Such knowledge about the search space can be used to tune the GA in various ways. As well as being a useful explanatory tool for GA researchers, our system serves as an empirical test of the building block hypothesis. The fact that it works so well lends credence to the theory that GAs work by exploiting common genetic building blocks. Sushil J. Louis, Gary McGraw 0001, Richard O. Wyckoff |
J. Exp. Theor. Artif. Intell. | 2 |