I am currently seeking (potentially multiple) Ph.D. students interested in programming languages and software engineering research for a newly NSF-funded project on analysis and transformations for imperative Deep Learning (DL) programs. The project focuses on enhancing the robustness, increasing run-time performance, and facilitating the long-lived evolution of DL systems, particularly, large, industrial DL systems. For more information on the project, please see the project announcement.
Potential research topics explored during the course of the project may include (static/dynamic) program analysis and transformation (e.g., automated refactoring). The successful candidates will be expected to work on projects that generally yield open-source developer tool research prototypes, typically plug-ins to popular IDEs, build systems, or static analyzers. Potential applications may find more information on the principal supervisor’s web page. After discussing with me, potential students should apply to the City University of New York (CUNY) Graduate Center (GC) Ph.D. program in Computer Science.
Please see below for additional details on applying.
Topics of Interest
- Static code analysis
- Dynamic code analysis
- Deep Neural Networks
- Program transformation
- Automated refactoring
- Software evolution
- Empirical software engineering
programming languages, software engineering, automated refactoring, static analysis, dynamic analysis, IDEs, developer tools, software evolution, deep learning, imperative programs, hybrid programming paradigms, empirical studies
CUNY provides competitive funding packages. Potential applicants may find funding information on the CUNY GC website.
The start date is negotiable.
Expected Skills and Qualifications
Successful candidates will have earned either a BS or MSc degree (or equivalent) in Computer Science or a related field. Areas for which a successful candidate will have a solid practical and theoretical background include the following. Note, however, possessing all such skills does not necessarily disqualify applicants:
- AI, Machine Learning, Deep Learning, analytics, and data mining.
- (Object-Oriented) programming languages.
- (Front-end) compilers.
- Data structures.
- Software design patterns.
- Software testing.
- Software engineering tools, e.g., IDEs, build systems, version control.
Successful candidates may also have:
- A strong mathematical logic, statistical, and a set theoretic foundation.
- Industrial experience.
- Software engineering skills.
- High-quality analytical skills.
- Experience in developer tool design and implementation, relational databases, and statistical software (e.g., R, spreadsheets).
Please complete the following form. Please note that partial form submissions can be saved for later completion.
The City University of New York – CUNY’s Graduate Center Ph.D. program in Computer Science information and requirements regarding admission are available here. The Computer Science program requirements are listed here. Note that the college program requirements may include a GRE. International students are encouraged to visit this web page for more information regarding international requirements.