Simon Goldsmith

dblp:77/6137 · also Simon Fredrick Vicente Goldsmith · DBLP profile ↗
← Back
2ranked-venue papers
2as first author
0since 2021 · last 2007
—ORCID · none

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

Software engineering, systems software and programming languages · 2 · 2 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.

Software engineering, system software, and programming languages
1 paper
Program analysis · 75% Debugging and program repair · 25%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Performance modeling and evaluation · 100%

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

TopicWeightPapersLastEvidence papers
Performance modeling and evaluation
workload characterization
0.112007
Measuring empirical computational complexity · ESEC/SIGSOFT FSE 2007
Program analysis
dynamic analysis
0.112005
Relational queries over program traces · OOPSLA 2005
Program analysis › dynamic analysis
instrumentation
0.112005
Relational queries over program traces · OOPSLA 2005
Debugging and program repair › performance debugging
performance bug detection
0.112005
Relational queries over program traces · OOPSLA 2005
Program analysis › dynamic analysis
program tracing
0.112005
Relational queries over program traces · OOPSLA 2005
Performance modeling and evaluation › performance diagnosis
performance bug detection
0.012007
Measuring empirical computational complexity · ESEC/SIGSOFT FSE 2007

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

trend profiling · 0.1performance profiling · 0.1curve fitting · 0.1relational queries · 0.1
YearPublicationVenuePosition
2007 Measuring empirical computational complexity
abstract
The standard language for describing the asymptotic behavior of algorithms is theoretical computational complexity. We propose a method for describing the asymptotic behavior of programs in practice by measuring their empirical computational complexity. Our method involves running a program on workloads spanning several orders of magnitude in size, measuring their performance, and fitting these observations to a model that predicts performance as a function of workload size. Comparing these models to the programmer's expectations or to theoretical asymptotic bounds can reveal performance bugs or confirm that a program's performance scales as expected. Grouping and ranking program locations based on these models focuses attention on scalability-critical code. We describe our tool, the Trend Profiler (trend-prof), for constructing models of empirical computational complexity that predict how many times each basic block in a program runs as a linear (y = a + bx) or a powerlaw (y = axb) function of user-specified features of the program's workloads. We ran trend-prof on several large programs and report cases where a program scaled as expected, beat its worst-case theoretical complexity bound, or had a performance bug.
Simon Goldsmith, Alex Aiken, Daniel Shawcross Wilkerson
ESEC/SIGSOFT FSE1
2005 Relational queries over program traces
abstract
Instrumenting programs with code to monitor runtime behavior is a common technique for profiling and debugging. In practice, instrumentation is either inserted manually by programmers, or automatically by specialized tools that monitor particular properties. We propose Program Trace Query Language (PTQL), a language based on relational queries over program traces, in which programmers can write expressive, declarative queries about program behavior. We also describe our compiler, Partiqle. Given a PTQL query and a Java program, Partiqle instruments the program to execute the query on-line. We apply several PTQL queries to a set of benchmark programs, including the Apache Tomcat Web server. Our queries reveal significant performance bugs in the jack SpecJVM98 benchmark, in Tomcat, and in the IBM Java class library, as well as some correct though uncomfortably subtle code in the Xerces XML parser. We present performance measurements demonstrating that our prototype system has usable performance.
Simon Goldsmith, Robert O'Callahan, Alex Aiken
OOPSLA1