Your PhD Thesis
(PhD version)
Andreas Zeller, Saarland University
Artwork by Jorge Cham, www.phdcomics.com
The
Conception
The
Assessment
some cool idea
that might rock the world
that would put a dent in the universe
The Universe
Was it hard?
Is it elegant?
Is it useful?
or: What can be expected from you?
or: Who will be impacted?
or: What will its impact be?
Does the problem actually exist?
What do you improve?
Productivity? Quality? Risk?
Does it solve the problem
in principle or in reality?
At which cost?
From The Illustrated Guide to a Ph.D., by Matt Might
How do you measure this?
What assumptions does your solution make?
How do your results generalize?
How much change will your solution require?
What are the alternatives?
abstract
principle
ad-hoc
solution
Take risks
few
assumptions
lots of
assumptions
maximum distance
general
revolution
incremental
reform
You
short term
long term
Everyone
you?
Proving Android Apps*
Automatically
Predicting Bugs
from File Size
Code Completion
for Aspects
Flawed Reviews
Overloaded reviewers favor
Abstract. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas convallis nec ipsum nec aliquam. Mauris lacinia lacinia libero. Mauris vel vestibulum nisl, viverra porttitor lorem. In hac habitasse platea dictumst. Ut ullamcorper, augue sit amet eleifend blandit, elit tortor egestas purus, et luctus ipsum diam nec nibh. Sed ut eleifend ante. Aenean ullamcorper diam sed viverra pellentesque. Quisque laoreet vehicula ipsum, in consectetur felis suscipit gravida. Sed interdum sollicitudin ultrices. Curabitur tempus a lacus vitae aliquet. Nulla mauris purus, placerat eu nisl non, porta congue magna. Etiam ut risus sapien. Donec blandit mauris sit amet venenatis pulvinar. Sed viverra turpis id tempus pellentesque. Etiam non tincidunt ipsum. Phasellus lobortis, lacus sit amet fringilla hendrerit, massa tortor euismod velit, nec iaculis quam tellus in est.
1. Introduction
Phasellus tempus, felis vitae porttitor facilisis, felis diam tristique urna, in tincidunt leo ligula sit amet risus. Aenean ac eros in arcu aliquet iaculis. Curabitur gravida varius porta. Etiam adipiscing nulla sit amet scelerisque consequat. Integer id mi interdum est euismod pellentesque. Suspendisse laoreet in nulla in scelerisque. Nulla porta pellentesque risus eget faucibus. Vestibulum posuere purus ipsum, ac viverra lorem gravida eu. Quisque feugiat sed justo vitae tincidunt. Aliquam commodo, tellus ac vulputate auctor, nisi massa accumsan urna, nec sagittis augue dui a libero. Sed placerat elit gravida tellus porttitor, eget sollicitudin mauris dignissim. Nullam volutpat, mauris quis rhoncus accumsan, risus massa tempus enim, et facilisis diam risus id odio. Donec iaculis risus a sem eleifend, eget venenatis diam ultricies. Donec aliquet ut sem ut malesuada. Phasellus vel vestibulum neque.
Abstract. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas convallis nec ipsum nec aliquam. Mauris lacinia lacinia libero. Mauris vel vestibulum nisl, viverra porttitor lorem. In hac habitasse platea dictumst. Ut ullamcorper, augue sit amet eleifend blandit, elit tortor egestas purus, et luctus ipsum diam nec nibh. Sed ut eleifend ante. Aenean ullamcorper diam sed viverra pellentesque. Quisque laoreet vehicula ipsum, in consectetur felis suscipit gravida. Sed interdum sollicitudin ultrices. Curabitur tempus a lacus vitae aliquet. Nulla mauris purus, placerat eu nisl non, porta congue magna. Etiam ut risus sapien. Donec blandit mauris sit amet venenatis pulvinar. Sed viverra turpis id tempus pellentesque. Etiam non tincidunt ipsum. Phasellus lobortis, lacus sit amet fringilla hendrerit, massa tortor euismod velit, nec iaculis quam tellus in est.
1. Introduction
Phasellus tempus, felis vitae porttitor facilisis, felis diam tristique urna, in tincidunt leo ligula sit amet risus. Aenean ac eros in arcu aliquet iaculis. Curabitur gravida varius porta. Etiam adipiscing nulla sit amet scelerisque consequat. Integer id mi interdum est euismod pellentesque. Suspendisse laoreet in nulla in scelerisque. Nulla porta pellentesque risus eget faucibus. Vestibulum posuere purus ipsum, ac viverra lorem gravida eu. Quisque feugiat sed justo vitae tincidunt. Aliquam commodo, tellus ac vulputate auctor, nisi massa accumsan urna, nec sagittis augue dui a libero. Sed placerat elit gravida tellus porttitor, eget sollicitudin mauris dignissim. Nullam volutpat, mauris quis rhoncus accumsan, risus massa tempus enim, et facilisis diam risus id odio. Donec iaculis risus a sem eleifend, eget venenatis diam ultricies. Donec aliquet ut sem ut malesuada. Phasellus vel vestibulum neque.
*without pointers, parallelism, loops, and recursion; see future work
Was it hard?
Is it elegant?
Is it useful?
or: What can be expected from you?
or: Who will be impacted?
or: What will its impact be?
Bean Counting
Does the problem actually exist?
What do you improve?
Productivity? Quality? Risk?
Does it solve the problem in principle or in reality?
At which cost?
How do you measure this?
What assumptions does your solution make?
How do your results generalize?
How much change will your solution require?
What are the alternatives?
abstract
principle
ad-hoc
solution
lots of
assumptions
few
assumptions
general
revolution
incremental
reform
You
Administration likes metrics:
short term
long term
But I published something!
Does it solve
Developers
Managers
Peers
End users
Better* Debugging
through Overfitting
Abstract. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas convallis nec ipsum nec aliquam. Mauris lacinia lacinia libero. Mauris vel vestibulum nisl, viverra porttitor lorem. In hac habitasse platea dictumst. Ut ullamcorper, augue sit amet eleifend blandit, elit tortor egestas purus, et luctus ipsum diam nec nibh. Sed ut eleifend ante. Aenean ullamcorper diam sed viverra pellentesque. Quisque laoreet vehicula ipsum, in consectetur felis suscipit gravida. Sed interdum sollicitudin ultrices. Curabitur tempus a lacus vitae aliquet. Nulla mauris purus, placerat eu nisl non, porta congue magna. Etiam ut risus sapien. Donec blandit mauris sit amet venenatis pulvinar. Sed viverra turpis id tempus pellentesque. Etiam non tincidunt ipsum. Phasellus lobortis, lacus sit amet fringilla hendrerit, massa tortor euismod velit, nec iaculis quam tellus in est.
1. Introduction
Phasellus tempus, felis vitae porttitor facilisis, felis diam tristique urna, in tincidunt leo ligula sit amet risus. Aenean ac eros in arcu aliquet iaculis. Curabitur gravida varius porta. Etiam adipiscing nulla sit amet scelerisque consequat. Integer id mi interdum est euismod pellentesque. Suspendisse laoreet in nulla in scelerisque. Nulla porta pellentesque risus eget faucibus. Vestibulum posuere purus ipsum, ac viverra lorem gravida eu. Quisque feugiat sed justo vitae tincidunt. Aliquam commodo, tellus ac vulputate auctor, nisi massa accumsan urna, nec sagittis augue dui a libero. Sed placerat elit gravida tellus porttitor, eget sollicitudin mauris dignissim. Nullam volutpat, mauris quis rhoncus accumsan, risus massa tempus enim, et facilisis diam risus id odio. Donec iaculis risus a sem eleifend, eget venenatis diam ultricies. Donec aliquet ut sem ut malesuada. Phasellus vel vestibulum neque.
*1.2% on selected benchmarks. See future work.
Tests not effective
on Uncovered Code
Abstract. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas convallis nec ipsum nec aliquam. Mauris lacinia lacinia libero. Mauris vel vestibulum nisl, viverra porttitor lorem. In hac habitasse platea dictumst. Ut ullamcorper, augue sit amet eleifend blandit, elit tortor egestas purus, et luctus ipsum diam nec nibh. Sed ut eleifend ante. Aenean ullamcorper diam sed viverra pellentesque. Quisque laoreet vehicula ipsum, in consectetur felis suscipit gravida. Sed interdum sollicitudin ultrices. Curabitur tempus a lacus vitae aliquet. Nulla mauris purus, placerat eu nisl non, porta congue magna. Etiam ut risus sapien. Donec blandit mauris sit amet venenatis pulvinar. Sed viverra turpis id tempus pellentesque. Etiam non tincidunt ipsum. Phasellus lobortis, lacus sit amet fringilla hendrerit, massa tortor euismod velit, nec iaculis quam tellus in est.
1. Introduction
Phasellus tempus, felis vitae porttitor facilisis, felis diam tristique urna, in tincidunt leo ligula sit amet risus. Aenean ac eros in arcu aliquet iaculis. Curabitur gravida varius porta. Etiam adipiscing nulla sit amet scelerisque consequat. Integer id mi interdum est euismod pellentesque. Suspendisse laoreet in nulla in scelerisque. Nulla porta pellentesque risus eget faucibus. Vestibulum posuere purus ipsum, ac viverra lorem gravida eu. Quisque feugiat sed justo vitae tincidunt. Aliquam commodo, tellus ac vulputate auctor, nisi massa accumsan urna, nec sagittis augue dui a libero. Sed placerat elit gravida tellus porttitor, eget sollicitudin mauris dignissim. Nullam volutpat, mauris quis rhoncus accumsan, risus massa tempus enim, et facilisis diam risus id odio. Donec iaculis risus a sem eleifend, eget venenatis diam ultricies. Donec aliquet ut sem ut malesuada. Phasellus vel vestibulum neque.
Does it solve
Developers
End users
Peers
Friends and Family
Friends and Family
Peers
Society
University
Managers
Society
Advisor