Xuan-Bach D. Le Blogs Publications Home

Xuan-Bach D. Le, Ph.D.
Continuing Lecturer (Assistant Professor)
School of Computing and Information Systems
University of Melbourne, Australia
Email: bach.le@unimelb.edu.au
Tel: (61) 0448028760

About me

I am looking for students to work with. See News below.

"Curiosity is the wick in the candle of learning." - William Arthur Ward

I'm currently a Lecturer at the University of Melbourne, Australia. Previously, I was a postdoc at Carnegie Mellon University, working with ACM Distinguished Scientist & Associate Prof. Corina Pasareanu. I received my PhD from Singapore Management University in June 2018, under supervision of ACM Distinguished Member & Professor David Lo.
My research interests span software engineering and programming languages, including: software mining, empirical software engineering, program analysis, repair, synthesis, and verification.


Our work History Driven Program Repair inspired/influenced GetaFix by Facebook (See Section 6). GetaFix is the first ever automated repair tool deployed at large scale codebase in the industry.

News

  • August 2021: Awarded $438K + $50K ARC DECRA funding (Sole PI) starting from Jan 2022 (Australian Research Council funding for Discovery Early Career Researcher Award), acceptance rate across disciplines 20% (reference).
  • July 2021: Three full research papers about automated bug fixing accepted at ISSRE'21.
  • Dec 2020: Awarded $20K funding for Early Career Researcher at School of Computing and Information Systems. Project title: Refixar: Practical Automated Repair of Software Regression Errors.
  • Dec 2020, Our paper entitled: "Exploring True Test Overfitting in Dynamic Automated Program Repair using Formal Methods" has been accepted to ICST'21
  • Collaborative funding (NSF Medium) on Fuzzing and Repair @ Carnegie Mellon University, University of California Berkeley, University of California Santa Barbara. I helped in part write the proposal with my advisor Assoc/Prof. Corina at CMU. This allows us to continue our collaborations when I am now at UniMelb.

  • Joined University of Melbourne, Australia as a Lecturer (a.k.a Assistant Professor) in July, 2019.

  • Students wanted @ Melbourne: Prospective students please check eligibility and contact me. Scholarships are available, e.g., China scholarships council, Melbourne graduate research scholarships, and more. Nearest application deadlines are 1 March and 17 May 2019. There are also potential research collaborations with Carnegie Mellon University, Singapore Mangement University, etc. The University of Melbourne is ranked 14th worldwide on Computing and Information Systems in 2018.

  • [Now Closed]Google Summer of Code 2019: I'm serving as a mentor for GSoC 2019 for Java PathFinder team. Students interested in program repair using program analysis, symbolic execution, or something along that line are encouraged to contact me for further details.

  • Serving as a Program Committee member for ISSTA'20 Research Track, ASE'20 Research Track, ASE'19 Demonstration Track and ICSE'20 NIER Track

Education & Research

PostDoc, Carnegie Mellon University, Silicon Valley, June’18 - June'19
Supported by DARPA STAC program, ISSTAC project.
Topic: Software Security, Advisor: ACM Dishtinguished Scientist & Assoc. Prof. Corina Pasareanu

PhD Candidate, Singapore Management University, Singapore, Jan’14 - May’18
Supported by LARC-Carnegie Mellon University collaboration program.
Topic: Automatic software repair, Advisor: Prof. David Lo

PhD Residency Training, Carnegie Mellon University, Pittsburgh USA, Aug’15 - June’16
Under LARC-CMU collaboration program, supported by Singapore Ministry of Education.
Topic: Automatic software repair, Host: Assoc. Prof. Claire Le Goues

BSc (Hons), Hanoi University of Science and Technology, Vietnam, Aug’07 - May’12
Topic: SAT solvers and its application in software verification
Advisors: Assoc. Prof. HUYNH Quyet Thang, and Assoc. Prof. Wei Ngan Chin

Research Assistant, National University of Singapore, Singapore, Aug’12 - Nov’13
Topic: Static software verification using SAT and Separation Logic
Advisor: Assoc. Prof. Wei Ngan Chin

Research Intern, National University of Singapore, Singapore, Feb’12 - May’12
Topic: Static software verification using SAT and Separation Logic
Advisor: Assoc. Prof. Wei Ngan Chin

Undergraduate Intern, Nagoya University, Japan, Aug’12
Topic: Building a social network application, Host: Prof. Toyohide WATANABE

High School Student, Phan Boi Chau High School for Gifted students, Nghe An, Vietnam, May'05 - May'07
Mathematics-specialized class
First prize - Gold medal at Mathematical Olympiads, Nghe An province, 2005

Others

Languages: Vietnamese (native), English (TOEFL iBT:97/120 with Writing:27/30 ~ IELTS:7.0), and Japanese (intermediate, level 2 of Japanese Language Proficiency Test in 2009)

Teaching:

  • COMP30026: Models of Computation (Propositional Logic, Predicate Logic, SAT, Automata Theory), Undergrad level, Semester 2, 2022
  • COMP30026: Models of Computation (Propositional Logic, Predicate Logic, SAT, Automata Theory), Undergrad level, Semester 2, 2021
  • SWEN20003: Object Oriented Software Development, Undergrad level, Semester 1, 2020; Semester 1, 2021
  • SWEN90014: Masters Software Engineering Project, Graduate level, Semester 2, 2020
  • COMP90045: Programming Language Implementation (Compiler Theory), Graduate level, Semester 2, 2020
  • Guest Lecturer: Program Analysis and Modeling, Graduate level, SMU, 2018
  • Teaching Assistant: Software Mining and Analysis, Graduate level, SMU, 2018
  • Teaching Assistant: Analytics Foundations, Undergraduate level course, SMU, 2017

Student Supervision:

  • Ishan Maholtra, Master's student at University of Melbourne, 2019-. Topic: Automated Program Repair
  • Alan Ung, Master's student at University of Melbourne, 2019- (with Toby Murray). Topic: Empirical Study on Security Aspects of Compilers
  • Hanliang Zhang, Undergraduate student from Peking University, China, participated in Google Summer of Code 2019. Topic: Automatic Repair of Null Pointer Exceptions.
  • Siyu Xie, Undergraduate student from Zhejiang University, China (now at Rice University, USA), visited SMU during 2017-2018. Topic: Empirical Study and Benchmark for Automatic Program Repair of Regression Errors.

Academic Services:

  • Chairing:
    • SOICT'23 SE Track, ICBC'22 (Intl Conf on Blockchain) Demo Track, ASE'21 SRC Track
  • Committee Member:
    • ICSE'23, ICSE'22 SEIS, APR'22, MSR'22 Data, ASE'20 Research Track, ISSTA'20 Research Track, ICSE'20 NIER, GI@ ICSE'20, ASE'19 Demo, ISSTA'19 Artifact Evaluation Committee, QRS'19, International Workshop on Intelligent Bug Fixing (IBF'19), National Software Application Conference (NASAC'19), Software Engineering Conference (ISEC'20)
  • Reviewer:
    • 2020: Transactions on Dependable and Secure Computing (TDSC) Journal, Science of Computer Programming, EMSE
    • 2019: TSE Journal, TOSEM Journal, Computers Journal, JSS, Knowledge and Information Systems, IEEE Access Journal, IST Journal, Software Quality Journal (SQJ)
    • 2018: Journal of Systems and Software (JSS) - Transactions on Software Engineering and Methodology (TOSEM) - Software Testing, Verification and Reliability (STVR) - Information and Software Technology (IST) - Journal of Computer and Communications (JCC)
    • 2017: Empirical Software Engineering Journal (EmSE)
  • Sub(External)-reviewer:
    • 2019: ECOOP, ASE, ESEC/FSE
    • 2018: SCAM, ESEC/FSE (Tool Track)
    • 2017: ICSME, IWESEP, VL/HCC, RV
    • 2016: SAC, SATE, MSR (data track), ICECCS, APSEC
    • 2014: POPL
    • 2013: SAC

For conference ranking, please refer to: Core
Keywords: Program Repair, Symbolic Execution, Program Synthesis, Separation Logic, Specification Mining, Defect Categorization, Machine Learning & Data Mining Application.

Acknowledgements:

All my works/projects here in SMU have been supported by the Singapore Ministry of Education. I am particularly supported by Living Analytics Research Center (LARC), Singapore Management University. We are also grateful to various collaborators at various institutions/universities such as National University of Singapore, Stellenborsch University, Carnegie Mellon University, and so on.

Recent/Unpublished work:

My Research Group:



Publications: (Google scholar, dblp, research gate)

[TSE'23] Invalidator: Automated Patch Correctness Assessment via Semantic and Syntactic Reasoning.
Thanh Le-Cong, Duc-Minh Luong, Xuan-Bach D. Le, David Lo, Nhat-Hoa Tran, Quang-Huy Bui, Quyet-Thang Huynh
Transactions on Software Engineering, Journal, 2023.

[ICSE'23] Chronos: Time-Aware Zero-Shot Identification of Libraries from Vulnerability Reports.
Y. Lyu, Thanh Le-Cong, Hong Jin Kang, R. Widyasari, Z. Zhao, Xuan-Bach D. Le, Ming Li, David Lo
The 45th IEEE/ACM International Conference on Software Engineering (ICSE), Research Track, 2023.

[FoSSaCS'23] An Efficient Cyclic Entailment Procedure in a Fragment of Separation Logic.
Quang-Loc Le, Xuan-Bach D. Le
The 26th International Conference on Foundations of Software Science and Computation Structures (FoSSaCS), Research Track, 2023.

[ESEC/FSE'22] VulCurator: A Vulnerability-Fixing Commit Detector.
Truong Giang Nguyen, Thanh Le-Cong, Hong Jin Kang, Xuan-Bach D. Le, David Lo
The 21st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE), Demo Track, 2022.

[ESEC/FSE'22] AutoPruner: Tranformer-based Call Graph Pruning.
Thanh Le-Cong, Hong Jin Kang, Truong Giang Nguyen, S. Haryono, David Lo, Xuan-Bach D. Le, and Quyet-Thang Huynh
The 21st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE), Research Track, 2022.

[ICSME'22] FFL: Fine grained Fault Localization for Student Programs via Syntactic and Semantic Reasoning.
Thanh-Dat Nguyen, Thanh Le-Cong, Duc-Minh Luong, Van-Hai Duong, Xuan-Bach D. Le, David Lo and Quyet-Thang Huynh
The 38th IEEE International Conference on Software Maintenance and Evolution (ICSME), Research Track, 2022.

[ISSTA'22] Test Mimicry to Assess the Exploitability of Library.
Hong Jin Kang, Truong Giang Nguyen, Xuan-Bach D. Le, David Lo, Corina Pasareanu
The 31st International Symposium on Software Testing and Analysis (ISSTA), Research Track, 2022.

[ICSE'22] Toward the Analysis of Graph Neural Networks.
Thanh-Dat Nguyen, Thanh Le-Cong, ThanhVu H Nguyen, Xuan-Bach D. Le, Quyet-Thang Huynh
The 44th International Conference on Software Engineering (ICSE), NIER Track, 2022.

[ISSRE'21] REFIXAR: Multi-version Reasoning for Automated Repair of Regression Errors.
Xuan-Bach D. Le, Quang-Loc Le
The 32nd International Symposium on Software Reliability Engineering (ISSRE), Research Track, 2021.

[ISSRE'21] More Reliable Test Suites for Dynamic Program Repair by Using Counterexamples.
Amirfarhad Nilizadeh, Marlon Calvo, Gary T. Leavens, Corina Pasareanu and Xuan-Bach D. Le
The 32nd International Symposium on Software Reliability Engineering (ISSRE), Research Track, 2021.

[ISSRE'21] Usability and Aesthetics: Better Together for Automated Repair of Web Pages.
Cong-Thanh Le, Xuan-Bach D. Le, Quyet-Thang Huynh, Phi Le Nguyen
The 32nd International Symposium on Software Reliability Engineering (ISSRE), Research Track, 2021.

[ICST'21] Exploring True Test Overfitting in Dynamic Automated Program Repair using Formal Methods
Amirfarhad Nilizadeh, Gary T. Leavens, Xuan-Bach D. Le, Corina Pasareanu, and David R. Cok
International Conference on Software Testing, Verification and Validation, Research Track, 2021.

[TSE'19] Smart Contract Development: Challenges and Opportunities
Z. Weiqin, L. David, S. K. Pavneet, Xuan-Bach D. Le, F. Yang, Zhenyu Chen, and Baowen Xu
IEEE Transactions on Software Engineering Journal, 2019.

[JPF'19] SAFFRON: Adaptive Grammar-based Fuzzing for Worst-Case Analysis
Xuan-Bach D. Le, Corina Pasareanu, Rohan Padhye, David Lo, Willem Visser, and Koushik Sen
Java Pathfinder Workshop collocated with ASE, 2019.

[SV-COMP'19] Symbolic Pathfinder for SV-COMP
Yannic Noller, Corina Pasareanu, Aymeric Fromherz, Xuan-Bach D. Le, and Willem Visser
Competition on Software Verification (SV-COMP), 2019, held at TACAS. pdf

[ICSE'19] On Reliability of Patch Correctness Assessment
Xuan-Bach D. Le, Lingfeng Bao, David Lo, Xia Xin, Shanping Li, and Corina Pasareanu
41st ACM/IEEE International Conference on Software Engineering (ICSE), 2019, Research Track pdf
(*) Empirically study popular patch assessment methodologies to guide evaluations of program repair techniques.

[EmSE-ICSE'18] Overfitting in Semantics-Based Automated Program Repair (*)
Xuan-Bach D. Le, Ferdian Thung, David Lo, Claire Le Goues
Empirical Software Engineering Journal, Invited. Accepted at Journal First Track at ICSE 2018 pdf
(*) Empirically study various synthesis techiques, e.g., syntax-guided synthesis, in the program repair context.

[ESEC/FSE'17] S3: Syntax- and Semantic-Guided Repair Synthesis via Programming by Examples
Xuan Bach D. Le, Duc Hiep Chu, David Lo, Claire Le Goues, and Willem Visser.
11th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, 2017, Research Track pdf

[ISSTA'17] JFIX: Semantics-Based Repair of Java Programs via Symbolic PathFinder
Xuan Bach D. Le, Duc Hiep Chu, David Lo, Claire Le Goues, and Willem Visser.
26th International Symposium on Software Testing and Analysis, 2017, Demonstrations Track. (project website at: JFIX) pdf

[ESEC/FSE'17] XSearch: A Domain-Specific Cross-Language Relevant Question Retrieval Tool
Bowen Xu, Zhenchang Xing, Xin Xia, David Lo and Xuan-Bach D. Le
11th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, 2017, Demonstrations Track pdf

[ICSME'16] Empirical Study on Synthesis Engines for Semantics-based Program Repair
Xuan Bach D. Le, David Lo, Claire Le Goues
32nd International Conference on Software Maintenance and Evolution, 2016, ERA Track pdf

[ICSME'16] Enhancing Automated Program Repair with Deductive Verification
Xuan Bach D. Le, Quang Loc Le, David Lo, Claire Le Goues
32nd International Conference on Software Maintenance and Evolution, 2016, ERA Track pdf

[ICSME'16] Recommending Code Changes for Automatic Backporting of Linux Device Drivers
Ferdian Thung, Xuan-Bach D. Le, David Lo, Julia L. Lawall
32nd International Conference on Software Maintenance and Evolution, 2016, Research Track pdf

[ASE'16] Towards Efficient and Effective Automatic Program Repair
Xuan Bach D. Le
31st International Conference on Automated Software Engineering, 2016, Doctoral Symposium pdf

[SANER'16] History Driven Program Repair
Xuan-Bach D. Le, David Lo, Claire Le Goues
23rd International Conference on Software Analysis, Evolution, and Reengineering, 2016, Research Track (SANER was previously known as WCRE) (*) pdf, tool source code
(*) Automatically mine frequent bug fix patterns from GitHub, and use the patterns as soft repair specifications.

[ISSRE'15] Should Fixing These Failures be Delegated to Automated Program Repair? (*)
Xuan-Bach D. Le, Tien-Duy B. Le, David Lo
26th International Symposium on Software Reliability Engineering, 2015, Research Track pdf
(*) Predict effectiveness of automatic repair tools using a machine learning based approach.

[ASE'15] Synergizing Specification Miners through Model Fissions and Fusions
Tien-Duy B. Le, Xuan-Bach D. Le, David Lo, and Ivan Beschastnikh
30th International Conference on Automated Software Engineering, 2015, Research Track pdf

[ICPC'15] Active Semi-supervised Defect Categorization
Ferdian Thung, Xuan-Bach D. Le, David Lo
23rd International Conference on Program Comprehension, 2015, Research Track pdf

I recorded some of my performances. Sometimes, I don't even remember how to play songs that I used to play, so recording them is a way to remember.


Random stuff in Vietnamese:
Học PhD và tìm academic jobs. Mấy hôm dịch dã, có chút thời gian nên mình ngồi viết một ít chia sẻ về quãng đường học và tìm việc của mình. Sơ qua, mình học đại học ở VN, qua Sing làm PhD, qua Mỹ một thời gian làm visiting scholar trong quá trình học PhD, và làm postdoc tại Mỹ một năm trước lúc về Úc làm giảng viên (ở Mỹ gọi là Assitant Professor). Mình có nhận được một số offers như Assistant Professor ở Mỹ, Associate Professor ở Nhật, và Lecturer ở Úc. Mình thảo luận cùng vợ và thuyết phục vợ cùng về Úc. Là cả một câu chuyện dài, mình lai rai dưới đây từ quá trình học đến bước chập chững vào career bây giờ.

Mục 1: Học PhD
Mình tốt nghiệp hạng xoàng ĐH Bách Khoa Hà Nội, dù có chút tư duy, nhưng một phần do lười và chểnh mảng nên học hành không tới nơi. Mãi đến cuối năm 4, mình được gặp người thầy đầu tiên đã trực tiếp hướng dẫn mình làm nghiên cứu khoa học và giúp mình khám phá ra rằng "có thể" là mình thích làm nghiên cứu thay vì ngồi giảng đường nghe bài giảng và đi thi lấy điểm. Phải nói mình rất may mắn gặp được những quý nhân. Mình làm đồ án nghiên cứu tốt nghiệp dưới sự hướng dẫn của thầy và được thầy giới thiệu qua đại học Quốc Gia Singapore (NUS) làm nghiên cứu về mảng theorical Computer Science, thiên về toán Logic áp dụng cho việc chứng minh phần mềm chạy đúng/sai (automated verification). Ở Sing, mình cũng rất may mắn được hướng dẫn bởi giáo sư rất tốt bụng và gần gũi. Theo đó, qua Sing mình làm đồ án tốt nghiệp ở NUS, về BKHN bảo vệ luận án, và sau đó quay lại NUS hai năm làm research assistant cho thầy. Mình vừa làm RA vừa nộp đơn PhD - một quá trình gian nan vất vả kéo dài tầm 1.5 năm. Kết quả của quá trình apply là mình được offer học Thạc Sĩ ở trường Luxembourg và PhD ở trường đại học Quản Lý Singapore (SMU). Mình chọn SMU là điểm đến tiếp theo, đơn giản vì scholarship tốt, mình đươc học thẳng PhD mà không cần qua masters, và giáo sư nice khi mình từng được nói chuyện cùng thầy. Mình apply PhD ở SMU làm với thầy mình khá đơn giản: gửi email expression of interest tới thầy -> thầy mời qua nói chuyện "giao lưu" tại office của thầy -> nộp đơn lên trường và thi GRE (Singapore cần thi GRE). Hồi đó rất hồn nhiên, mình chả biết GRE là gì, trước lúc thi 2 tuần, mua cuốn ôn GRE về đọc qua rồi đi thi. Kết quả trả về Toán thì ok, mà tiếng Anh dở ẹc. Tối hôm biết kết quả GRE, mình báo thầy kết quả thì sáng hôm sau thầy bảo "chuẩn bị học PhD đi nhé, anh nói với trưởng khoa ổng nhận cấp học bổng cho chú rồi". Thế là kết thúc 1.5 năm apply PhD, chuẩn bị tình thần phơi phới cho việc học sắp tới.

Mình được cấp học bổng (1 trong 8 suất) của chương trình liên kết giữa SMU và đại học Carnegine Mellon University tại Mỹ. Đây chính là điểm mở đầu rất may mắn cho quảng đường PhD của mình sau này. Tuy nhiên, quá trình 1 năm đầu làm PhD là đầy những hoài nghi về khả năng của mình và topic nghiên cứu của mình: Khó quá, chắc không làm nổi. Khoảng một năm đầu, mình nặn ra được 2 hay 3 bài báo, nhưng tất cả nộp lên hội nghị đều bị reject. Mình dám chắc, cảm giác này là giống nhau đối với các PhDers lúc mới nộp báo lần đầu: thất vọng và chán nản. Tuy nhiên rồi cảm giác đó cũng qua đi, mình quyết định nhuộm tóc đỏ và làm xoăn tóc để tạo cảm giác mới cho bản thân trước lúc quay lại hì hục ngồi vào bàn làm việc để cải thiện những bài báo vừa bị reject. Mình còn nhớ như in hôm làm quả đầu xong, thầy đến tận bàn tìm mình để thảo luận mà thầy ngỡ tìm nhầm người, bởi trông mình khác quá :)). Mình hì hụi cải thiện bài báo, cùng lúc chuẩn bị cho kì phỏng vấn tuyển sinh sang Carnegie Mellon làm visiting student trong 1 năm tại CMU. Cuối cùng thì sự cố gắng và sự kiên trì cũng có kết quả, trước ngày mình lên đường sang CMU thì biết kết quả bài báo đầu tiên được accepted. Lòng vui phơi phới ngập tràn, bạn gái mình hồi đó (giờ là vợ mình) nghe tin cũng mừng cho mình và rơi nước mắt. Phải nói mọi thứ đã rất khó khăn và không có được những sự động viên từ những người mình yêu thương thì cảm giác thật khó để vượt qua những hoài nghi nơi bản thân mình ban đầu.

Tại CMU, mình có những kỉ niệm khá đặc biệt: lần đầu tiên đặt chân lên đất Mỹ, xung quanh toàn là đám siêu nhân làm mình học không theo kịp đến nỗi có lúc mình sợ bị đánh trượt môn :)), được có những bữa ăn thân mật như lễ giáng sinh cùng các giáo sư đầu ngành tại CMU, lần đầu tiên được thấy và sờ tận tay tuyết trắng, vân vân và mây mây. Tại đây, mình làm nghiên cứu cùng giáo sư đầu ngành hẹp trong topic nghiên cứu mà mình theo đuổi. Ngoài làm nghiên cứu, mình khá tích cực tham gia lớp học mà chỉ có trải nghiệm ở CMU mới có: mình học lớp Constructive Logic, lớp học toán Logic cho Computer Science. Lớp học rất khó, nhưng mình đã học được rất nhiều điều mới và thú vị. Tại đây, minh được trải nghiệm một cảm giác học tập rất cũ nhưng lại có cảm giác "mới": giáo sư không giảng bài bắng slide như những bài giảng hiện đại, mà thầy cầm phấn viết bảng giảng bài, tất cả các công thức và chứng minh thầy đêu đưa từng nét phấn vẽ lên bảng. Mình xây dựng thêm được kha khá background qua việc học ở đây. Thực sự đây là môi trường học tập và nghiên cứu tuyệt vời. Quay lại với nghiên cứu, mình cố gắng học hỏi, tìm tòi độc lập và đặt ra những câu hỏi cho giáo sư hướng dẫn mình trong quá trình thảo luận. Mình sản xuất thêm được một bài báo nữa khá là chất lượng trước lúc rời CMU quay về Singapore sau một năm ở CMU. Những năm tiếp theo của quá trình học PhD của mình diễn ra suôn sẻ hơn từ đây bởi sự dạn dày và kiên trì qua quá trình tôi luyện khả năng độc lập tư duy, thảo luận và học hỏi từ thầy cô và đồng nghiệp.

Quý nhân: the game changer: Mình quay lại Singapore từ CMU, lúc này đã được hai năm rưỡi quá trình học PhD. Trong đầu luôn nảy ra những ý tưởng mới mà mình muốn theo đuổi. Tuy nhiên, hướng mình muốn theo lại không phải nằm trong expertise của thầy. Mình mạnh dạn đề xuất ý tưởng và nguyện vọng theo đuổi ý tưởng với thầy mình tại SMU. Mình rất may mắn là thầy cởi mở và cho mình một thời gian để chứng minh mình có thể làm được. Thầy nói trước với mình là mình sẽ cần expert để giúp triển khai, bởi thầy sẽ không giúp được nhiều vì nằm ngoài expertise của thầy. Mình làm song song việc thầy giao và đồng thời implement ý tưởng của riêng mình. Không lâu sau, mình làm ra kết quả tốt đầu tiên cho ý tưởng mình đề xuất và thầy đồng ý giúp cùng mình viết và nộp một bài báo ngắn - một khởi đầu cho series những bài báo tiếp theo của mình theo hướng này. Nghe lời thầy, mình tìm đến expert về lĩnh vực mà mình muốn làm, đó là anh bạn mình ở NUS và một giáo sư lớn trong ngành (tạm gọi thầy là thầy A) mà mình may mắn gặp được thầy qua một hội thảo. Chính việc được gặp giáo sư A là bước ngoặt cho career của mình sau này khi thầy strongly recommend cho mình qua làm postdoc ở CMU và các vị trí professors mà mình apply. Mình còn nhớ, rất may mắn một cách ngây thơ khí gặp thầy A tại hội nghị và hỏi thầy cả "nghìn" câu hỏi trong và sau bài trình bày của thầy tại hội nghị. Sở dĩ mình nói may mắn một cách "ngây thơ" là bởi trông thầy rất trẻ, tràn đầy năng lượng, và mình ngây thơ nghĩ/tin rằng chắc ổng ko phải giáo sư nên rất mạnh bạo hỏi những điều mình cảm thấy thú vị về bài trình bày của thầy. Sau buổi trao đổi hôm đó với thầy A, mình mới được thầy hướng dẫn mình cho biết là thầy A là giáo sư bự có tiếng. Giá hôm đó biết thầy A là giáo sư bự, chắc có lẽ mình đã rụt rè hơn nhiều và không dám nói chuyện cùng thầy. Tối đó mình email xin lỗi thầy A vì hỏi thầy quá nhiều, và hy vọng thầy có thời gian thảo luận và tham gia hướng dẫn xây dựng một ý tưởng mà mình và anh bạn mình đang cùng xây dựng. Rất may mắn thầy A đồng ý giúp đỡ. Sau đó không lâu, mình sản xuất được một số bài báo tốt cùng thầy A.

Tìm việc sau PhD, sư giúp đỡ bất ngờ từ quý nhân: Lúc này đã là sắp cuối năm 3 PhD, mình đã đủ điều kiện tốt nghiệp với tầm 10 bài báo to nhỏ. Mình dự định giữa năm 4 tốt nghiệp và bắt tay vào tìm công việc tiếp theo sau khi tốt nghiệp, nghĩa là mình bắt đầu tìm việc tầm 10 tháng trước lúc dự định tốt nghiệp. Mình có hỏi thăm các ý kiến khác nhau từ các anh chị đi trước về việc làm industry hay academia. Cuối cùng mình chọn academia để theo đuổi, lúc đó đơn thuần nghĩ: làm academia xong quay sang industry vẫn được, chứ làm industry xong chán muốn quay lại academia thì khó khăn gấp bội. Mình rải đơn postdoc một số nơi, chủ yếu mình nhắm trường top ở Mỹ và Thụy Sĩ. Còn nhớ lần đầu phỏng vấn ở ETH Thụy Sĩ, mình trượt và học được kinh nghiệm từ đây. Mình tiếp tục apply postdoc tại Mỹ, nhận được 3 offers từ: UCLA, Uni Nebraska, Carnegie Mellon. Mình chọn postdoc tại CMU và gửi email cảm ơn các giáo sư khác đã offer cho mình cơ hội. Việc mình nhận được offer tại CMU khá là đặc biệt. Ban đầu, mình dò tìm một cách tình cờ và biết được một anh người Việt làm ở CMU (sau này anh em khá thân khi mình qua CMU) và mạnh dạn hỏi anh về vị trí nghiên cứu tại lab anh. Rất may là lab có vị trí postdoc cho 1 năm cuối cùng của dự án. Mình mạnh dạn email cho giáo sư lab đó (tạm gọi là cô B) để apply. Rất tình cờ, giáo sư B lại là bạn thân của giáo sư A mình gặp tại hội nghị như đã kể trên. Sau khi mình gửi email cho giáo sư B, thì mình nhận được email từ giáo sư A hỏi: "chú muốn làm với cô B à? có thực sự muốn làm ko thì để anh nói nhờ cho một câu?". Và tất nhiên là mình cần sự giúp đỡ của thầy A. Không lâu sau, mình nhận được offer từ cô B, báo mình được offer và báo rằng mình nhận được strong recommendation từ giáo sư A là bạn của cô. Vậy đấy, một cuộc gặp gỡ tình cờ với giáo sư A với sự ngây thơ của chú sinh viên PhD mới lớn, lại là định mệnh cơ duyên cho mình đến với cô B, một giáo sư lớn khác trong ngành tại trường đại học top của thế giới. Lòng mình vui phơi phới, lúc này vợ vừa sinh con trai đầu lòng. Cả nhà lại chuẩn bị khăn gói lóc nhóc lên đường qua xứ sở cờ hoa một lần nữa, nhưng lần này có thêm thành viên bé nhó em bé tên Bánh Mì tầm 8 tháng tuổi ... Bao khó khăn lại đang chờ trước mắt cho quá trình làm nghiên cứu tiếp theo, áp lực cả về tài chính lẫn future career...

Mục 2: Làm postdoc, apply academic jobs, và đợi chò cơ hội chín muồi cho quyết định cuối cùng
Mình qua CMU tại California làm postdoc 1 năm trước lúc qua Úc làm giảng viên như bây giờ. Thật khó có thể quên Cali tươi đẹp và yên bình, và cũng là một quyết định khá khó khăn để rời Cali về Úc. Những ngày đầu chập chững qua Cali, mình không biết lái xe, vợ trẻ con thơ, nên mọi thứ khá khó khăn và bất tiện. Ví dụ như muốn ăn đồ Việt mà đi chợ thì lại khá xa nên những tháng đầu chỉ có ăn đồ Tây, hay là muốn đi chơi đâu xa thì phải bắt Uber nhưng khốn nỗi không có baby car seat cho em bé. Trăm vàn thứ bất tiện và mình cảm thấy phải thi bằng lái xe và mua xe gấp. Tuy nhiên, chỉ 3 tháng sau khi đặt chân đến Mỹ khó khăn lại ập đến khiến mình không còn thời gian nghĩ về việc học và thi lái xe nữa. Đó là việc funding của giáo sư B sang năm hết hạn và funding proposal mình cùng tham gia viết với giáo sư vừa bị reject. Điều này đồng nghĩa với việc rất nhiều khả năng hết 1 năm postdoc xong mình lại phải khăn gói ra đi tìm nơi khác. Mình tự hỏi: vậy mình phải làm sao đây, làm sao đây khi chỉ vừa mới qua 3 tháng chưa kịp ổn định đã lại phải nghĩ tới việc ra đi ... Lúc đó trước mắt mình khá mơ hồ. Sau thoáng chần chừ do thiếu tự tin, mình quyết định sẽ apply thẳng academic jobs mà không làm postdoc nữa sau khi finish postdoc tại CMU. Mình lên cra.org tìm các post liên quan đến expertise của mình. Ngoài ra, mình lên HigherEd và một số trang của Nhật Bản để tìm post cho academic jobs (Mình và vợ biết tiếng Nhật nên về Nhật có thể là lựa chọn tốt để cả hai cùng có thể kiếm được việc và hòa nhập). Mình apply rất nhiều, không đếm nổi bao nhiêu chỗ mình nộp từ Tây đến ta, Âu đến Á. Lúc đó mình đơn giản nghĩ là tìm được nơi nào người ta nhận mình để có công việc ổn định là tốt rồi. Nơi đầu tiên gọi mình phỏng vấn là trường đại học ở Nhật Bản, không phỏng vấn qua Skype mà mời thẳng onsite, vị trí phỏng vấn là Associate Professor. Cả nhà mừng khấp khởi lên đường sang Nhật phỏng vấn kết hợp du lịch. Cuộc phỏng vấn tại Nhật khá đơn giản, chỉ gặp một hai giáo sư trước lúc presentation về hướng nghiên cứu. Trong presentation thì tầm 40 phút trình bày, 30 phút đến 1 tiếng hỏi kín từ hội đồng. Hội đồng gồm các giáo sư từ các chuyên ngành khác nhau, khá đặc biệt là hôm đó có cả thầy Hiệu Trưởng.\ Trong buổi phỏng vấn mình nhớ có chi tiết khá funny là các thầy yêu cầu mình nói một ít tiếng Nhật. Lúc đó mình cũng không còn nhớ tiếng Nhật nhiều nữa, chỉ dám nói bằng tiếng Nhật rằng: lâu rồi em không có dùng tiếng Nhật, nên em quên mất nhiều rồi, các thầy thông cảm ạ. Thế mà sau buổi phỏng vấn mình được thầy host báo luôn là mình đã được offer (đã được hiệu trưởng thông qua), bonus thầy bảo: chú có giọng Nhật native rất tốt.

Nhận được offer đầu tiên, cả nhà cũng mừng, lại còn là vị trí Associate Professor, nghĩa là sẽ không cần làm qua Assistant Professor. Tuy mừng, mình chưa vội accept offer mà xin delay đợi thêm việc phỏng vấn trường ở Mỹ, Úc, và Canada. Cuộc phỏng vấn tại Mỹ có chút khác biệt với ở Nhật: mình có buổi gặp gỡ riêng với nhiều giáo sư trước và sau buổi presentation, và được hỏi đáp với các giáo sư về đủ thứ như là teaching philosophy và future research. Riêng presentation thì không khác gì so với Nhật, nghĩa là cấu trúc chia thời gian cho Q&A và presentation là tương tự. Rốt cuộc mình cũng được offer Assitant Professor ở trường X ở Mỹ. Mình vẫn chưa vội accept offer và xin delay tầm hai tuần để tìm hiểu thêm cuộc sống tại nơi đã offer mình. Trong lúc đó, mình cũng đồng thời thương thảo về offer ở Mỹ mà mình nhận được, đồng thời đi Úc và Canada phỏng vấn. Mình lên trang web h1bdata.info để tìm hiểu mức lương của các offer gần đây ở trường X. Để thương thảo về lương và startup package, mình đã tìm hiểu kĩ thông tin các giáo sư trong trường ở các rank khác nhau, ví dụ họ được nhận mức lương bao nhiêu và có bao nhiêu sinh viên và funding. Từ đó mình biết được mình đang ở đâu và thương thảo được một mức hợp lý. Trưởng khoa trường X kể cũng rất nice, chấp nhận một số thương thảo và đồng thời giải thích cho mình biết giới hạn của trường.

Mình qua Úc phỏng vấn trong lúc vẫn đang thương thảo với trường X ở Mỹ (mình chưa accept offer tại X). Cuộc phỏng vấn ở Úc cũng không khác nhiều với Mỹ: gặp gỡ riêng các giáo sư trước và sau presentation, ăn cơm trưa cùng các giáo sư, và đặc biệt có một cuộc họp kín cùng hội đồng gồm tầm 5-6 giáo sư. Cuộc họp kín khá dồn dập với nhiều câu hỏi liên quan cả đến teaching phylosophy và đính hướng nghiên cứu tương lai. Điểm mấu chốt để vượt qua được cuộc hỏi kín này là trả lời gọn, không dài dòng (bởi dài dòng sẽ phô ra nhiểu điểm yếu không đáng/nên show), và trả lời đúng trọng điểm cái người ta cần ở mình. Sau một ngày quần thảo với các cuộc gặp, presentation, và hội đồng hỏi kín, mình được trở về nhà nghỉ ngơi. Kết thúc cuộc phỏng vấn quay về Mỹ, tầm 1 tuần sau mình được báo nhận offer ở Úc. Offer khá tốt, tuy nhiên so với offer ở Mỹ thì mình vẫn khá phân vân. Mình tiếp tục thương thảo với trưởng khoa trường ở Úc. Các vấn đề mình nêu ra trong thương thảo bao gồm qualification của mình, tình hình tài chính công việc của family hiện tại. Những điểm này đều được trưởng khoa hiểu và chấp nhận một số thương thảo phù hợp. Mình khá happy. Sau vài hôm thuyết phục vợ, mình quyết định accept offer ở Úc, gửi email cảm ơn trường ở Mỹ và Nhận đã offer cho mình cơ hội.

Từ đây, mình chuẩn bị về Úc, hoàn thành nốt học lái xe, mua một chiếc xe chở vợ và bé con chạy vòng quanh California tươi đẹp, đi chợ Việt, ăn món Việt ở xa nhà, gặp gỡ bạn bè chào tạm biệt mọi người dể đến với đất nước chuột túi. Lòng còn vấn vương, tiếc nuối phải rời xa xứ sở cờ hoa một lần nữa. Có thể tương lai không xa hẹn sẽ gặp lại Cali và những người bạn tốt. À, rất nhớ những bữa ăn cơm chùa của Google khi thi thoảng cùng mấy anh bạn hẹn nhau qua Google hàn huyên; Cơm ngon, bạn hiền ... Hẹn gặp lại nhé Cali.
(Còn tiếp ...)
Hello World Contact!