Introductory talk given to PhD students starting research at NUS PhD open day 2020. Covers research in Computer Science, and some experience in research on trustworthy software systems.
Beyond the EU: DORA and NIS 2 Directive's Global Impact
3 Is of PhD research
1. 3 Is of PhD
& the
oft-forgotten 3rd
I
Prof. Abhik Roychoudhury
CS Dept, National University of Singapore
NUS PhD e-open day, 2020
All comments are my own, for discussion only.
2. So we are
here to
… talk about
NUS PhD e-open day, 2020
PhD
4. PhD
Skills needed for
mind-set
(this talk)
Requires and Grows Skills
Develops a Mind-set
(By-product) Pleasant Outcomes
(Along the way) there is a process
NUS PhD e-open day, 2020 4
5. PhD requires Skills
Let us start with some basic skills …
• Reading a paper (state-of-the-art) and quickly
judging a contribution.
• Compare the contributions of each paper
• chart the growth of a research area over time.
• Identify certain emerging research trends
alluded to in recent publications, and check
their feasibility
NUS PhD e-open day, 2020 5
6. Basic Skills needed
Basic ones, Why?
• They involve effort and discipline, of course!
• They involve analytical skills, given the papers
you need to analyze them, and distill out the
positioning of the papers.
• Involves pro-actively looking outside, and
doing so analytically
• In research, we are expected to be analytical
NUS PhD e-open day, 2020 6
7. First I of PhD
NUS PhD e-open day, 2020
Involves pro-actively looking outside, and doing so analytically
7
8. Less Obvious Skills
Why so?
• Choosing the right problems at the right time
• Choosing from a known set of problems.
• Why will it be impactful if you study it now?
• What technical skills and background are needed,
AND
• Why you are the right person right now to tackle
this problem?
• Looking inside yourself, reflection …
NUS PhD e-open day, 2020 8
9. Second I of PhD
NUS PhD e-open day, 2020
Looking inside yourself, reflection …
9
10. Least Obvious Skills
Least Obvious ones, Qualitative
• Develop clarity about research contribution
• Research paper, degree, x number of citations ??
• Contribution is how you progress the field
• It is argumentative and Qualitative in nature, as
opposed to quantitative
• Stepping up : making space for others to contribute
NUS PhD e-open day, 2020 10
11. Third I of PhD
NUS PhD e-open day, 2020
Making space for others to contribute
Even beyond high-quality problem solving
This talk, with focus on Computing research in general, and
by sharing …
Personal experience in CS research in trustworthy software.
11
12. Contributions
in Computer Science
• Conceptual Contribution
• Focus is on the imagination such as invention of
program representations by Frances Allen.
• She revolutionized compilation, so that you can
compile your programs today for your assignment
NUS PhD e-open day, 2020 12
13. Contributions in CS
• Technical Contribution
• [Transplantation / Adaptation style] Amir Pnueli
brought ideas from philosophy to build temporal
logics for specifying properties of programs.
• [Cross-fertilization style] Clarke, Emerson and Sifakis
developed model checking as an automated
procedure for checking programs
• Today, these are being used to check critical
properties of SW in the car you are driving.
• Also, used for checking Intel processors we are using
NUS PhD e-open day, 2020 13
14. Contributions in CS
• Utilitarian Contribution
• build a novel system which acts a great enabler.
• Need to be careful that it is not implementation
of known ideas.
• Conveys important design goals and principles.
• Invention of Unix operating system by Ken
Thompson, which has influenced Apple’s MacOS
which you and I might be running right now.
• Technical and utilitarian contributions often go
hand-in-hand.
NUS PhD e-open day, 2020 14
15. Make your own
Contribution
NUS PhD e-open day, 2020
You have several ideas, and you can even evaluate their
Technical, Conceptual Contributions
Which one to choose? Towards new directions ??
15
16. Third I of PhD
NUS PhD e-open day, 2020
Making space for others to contribute
Even beyond high-quality problem solving
This talk, with focus on Computing research in general,
and by sharing …
Personal experience in CS research.
16
17. Own Experience
• Focusing on my own research community
• Software testing via symbolic execution
• Proposed in 1976
• Aided by growth of Constraint Solver capability
• Uptake from some companies in 10 years
• Some of the research is quite theoretical
• Heavy investment for a company initially
• Pays off in long term, used in multi-national
corporations today.
NUS PhD e-open day, 2020 17
18. Throwback from 1976 ~
2006
NUS PhD e-open day, 2020 18
“Program testing and program proving can be
considered as extreme alternatives. ….
This paper describes a practical approach
between these two extremes …
Each symbolic execution result may be
equivalent to a large number of normal tests”
Software
Seed Tests
Engine (calculate path
for seed tests, convert it
to logic, mutate logical
formula to find inputs
which go through other
paths, solve mutated
logic formula and get
more inputs … )
Test
suite
covering
many
paths
Aided by growth in
solver technology
19. (Non-exhaustive)
History of AI
Symbolic AI
• 1958 LISP
• 1965 Resolution theorem proving
• 1970 Prolog
• 1982-92 Fifth Generation Comp Sys
• 1995 - … Advances in SAT, SMT
solving
• 2005 - 08… Symbolic Execution as
analysis technology (from 1976)
Biologically inspired AI
• 1959 Perceptron
• 1970 - … Genetic Algorithm
• 1980 -… Neural Networks
• 1992 Genetic Programming
• 1997 Deep Blue
• 2012 AlexNet work on CNN
NUS PhD e-open day, 2020 19
20. NUS PhD e-open day, 2020 20
Intelligent Programming
Not easy to search
21. Practical Example
NUS PhD e-open day, 2020 21
1 i f ( hbtype == TLS1 HB REQUEST) {
2 . . .
3 memcpy (bp , pl , payload ) ;
4 . . .
5 }
(a) The buggy part of the Heartbleed-
vulnerable OpenSSL
1 i f ( hbtype == TLS1 HB REQUEST
2 && payload + 18 < s->s3->rrec.length) {
3 . . .
4 }
(b) A fix generated automatically
1 if (1 + 2 + payload + 16 > s->s3->rrec.length)
2 return 0;
3 . . .
4 i f ( hbtype == TLS1_HB_REQUEST) {
5 . . .
6 }
7 e l s e i f ( hbtype == TLS1_HB_RESPONSE) {
8 . . .
9 }
10 r e t u r n 0 ;
(c) The developer-provided repair
The Heartbleed Bug is a serious vulnerability in the popular OpenSSL
cryptographic software library. This weakness allows stealing the
information protected, under normal conditions, by the SSL/TLS
encryption used to secure the Internet. SSL/TLS provides
communication security and privacy over the Internet for applications
such as web, email, instant messaging (IM) and some virtual private
networks (VPNs).
--- Source: heartbleed.com
22. Autonomous Systems
NUS PhD e-open day, 2020 22
Can autonomous software test and repair itself autonomously to cater for corner
cases? Can autonomous software repair itself subject to changes in environment?
23. NUS Alumni – Sample
Placements
NUS PhD e-open day, 2020 23
https://www.comp.nus.edu.sg/~tsunami/placement.htm
Marcel Boehme
Senior Lecturer, Monash
(Influenced tools to find security
vulnerabilities, which are used daily)
Hong Hu
Assistant Professor, Penn State
(Vulnerability detection and defense)
Sergey Mechtaev
Lecturer, University College London
(Automated fixing of vulnerabilities)
ACM SIGSOFT Outstanding Dissertation
Van-Thuan Pham
Lecturer, Univ of Melbourne
(Influenced tools to find security
vulnerabilities, which are used daily)
Shweta Shinde
Assistant Professor, ETH Zurich
(Isolated/secure execution,
Trusted Computing)
Shruti Tople
Senior Researcher,
Microsoft Research
Cambridge
(Trusted computing)
Shin Hwei Tan
Assistant Professor
SUSTech, China
(Automated fixing
of vulnerabilities)
24. Go beyond hot areas
• PhD takes 5 years
• An area in CS which is hot in 2020 very unlikely to be hot in 2025
• Lot of example periods from the history of Computer Science
• Your situation will be affected by what is hot in 2024-25
• Not a matter of jumping into the bandwagon
• “If you see a bandwagon, it’s too late.”
• Go beyond hot areas
• Go beyond technical contributions
• Conceptual contributions chart directions.
• Help create hot areas from cool ones, using ??
NUS PhD e-open day, 2020 24
25. 3 Is of PhD research
Contributions
• Utilitarian Contribution
• Technical Contribution
• Conceptual Contribution
3 Is of PhD research
NUS PhD e-open day, 2020 25
Come, Imagine the problems of the future, here at NUS!