Systems Software Research Group

Research Engineer Recruitment

Virtualization

A research engineer position is immediately available in the Systems Software Research Group. The position involves developing hypervisor systems that can enable high performance for guest applications, strong degree of virtual machine isolation, and significantly reduced attack surface in untrusted settings. The project envisages building a secure virtualization infrastructure in untrusted cloud computing environments wherein users run a wide range of workloads, including desktop applications.

Recent computer science or computer engineering MS graduates with a background in operating systems, virtualization, and security is sought (PhD is not required). Proven programming expertise with the Linux kernel, Xen, or KVM is required. Experience with microkernels and unikernels (e.g., L4, Mini-OS, Rumprun) is highly desirable, but not required. The position is for two years minimum, with strong possibilities for additional years. Contact Prof. Binoy Ravindran with a CV or for any questions.

Postdoctoral Recruitment

Programming Languages, Security

A postdoctoral position is available with the Systems Software Research Group. The postdoc will work on a project that is investigating the Language-theoretic approach for improving security of systems software, in particular that of operating systems and hypervisors. The project vision involves developing domain-specific languages for automatically generating parsers for OS/hypervisor input handling at various levels of abstraction and integrating them into production codebases (e.g., BSD, Linux, Xen).

Recent computer science or computer engineering PhD graduates with background at the intersection of programming languages and software security are sought, with the ideal background being language-theoretic security. Proven programming expertise with open-source compilers, OS, and hypervisor infrastructures (e.g., LLVM/GCC, BSD/Linux, Xen/KVM) is required. The position is for two years minimum, with strong possibilities for additional years. For the right candidate, a research faculty position may also be possible. Contact Prof. Binoy Ravindran with a CV or for any questions.

Formal methods/Isabelle/HOL

A postdoctoral position is available with the Systems Software Research Group on a project that is investigating verification of x86 machine code. The project vision involves formalizing x86-64 semantics, decompiling program binaries, and investigating techniques to reason about program behaviors, all inside a theorem-prover.

Recent computer science or computer engineering PhD graduates with background and expertise in theorem provers such as Isabelle/HOL, and with an affinity for defining the formal semantics of languages is sought. We seek candidates with a solid background in at least one of the following topics:

Interested candidates should send a CV and cover letter to Dr. Freek Verbeek. Please indicate in your email that you are applying for a postdoc position. The position is for one year, with strong possibilities for additional years. The start date is flexible, but we aim to fill the position as soon as possible. Please also contact Dr. Verbeek for any questions.

Operating Systems, Compilers, Run-times

Multiple postdoctoral positions are available in the Popcorn Linux project that involve developing innovative systems software architectures for emerging multicore platforms, in particular those with heterogeneous instruction sets, from node-scale (e.g., Xeon/Xeon-Phi, ARM/x86, CPU/GPU/FPGAs) to rack-scale (e.g., Scale-out processors, Firebox, The Machine). The project aims to develop scalable, energy-efficient, and secure software stack for such platforms and scales, concomitant components in the spaces of operating systems, compilers, and run-times, and contributing to open-source (e.g., Linux, LLVM) and experimental projects (e.g., Popcorn Linux).

Recent computer science or computer engineering PhD graduates with background in operating systems, security, virtualization, or compiler/run-times is sought. Proven programming expertise with open-source OS, compiler, and run-time infrastructures (e.g., the Linux kernel, Xen, KVM, LLVM, QEMU, etc) is required. The position is for two years minimum, with strong possibilities for additional years. For the right candidate, a research faculty position may also be possible. Contact Prof. Binoy Ravindran with a CV or for any questions.

PhD Student Recruitment

Multiple PhD positions for the academic year starting in Fall 2018 are available on operating system, distributed system, and concurrency projects. The OS project (popcornlinux.org) involves developing scalable OSes and hypervisors for emerging multicore architectures with heterogenous instruction sets, distributed systems, and exascale systems, and transitioning them into open-source OS/hypervisor infrastructures (e.g., Linux, Xen). The concurrency project (hyflow.org) involves developing scalable concurrency control, transactional memory, and transactional storage protocols for multicore, cluster- and geo-scale distributed systems, and transitioning them into open-source compiler/run-time and middleware infrastructures (e.g., GCC, LLVM, Infinispan). Opportunities also exist in a new project that is exploring formal methods (e.g., theorem-proving) for verifying systems software (e.g., Linux kernel). Positions require an MS in Computer Engineering, or Computer Science, or a closely related field, matching background and interests, strong programming skills in relevant languages, and strong self-initiative, while being a team player.

Details of Virginia Tech's PhD program in Computer Engineering, application deadlines, standardized test score requirements, how to apply, etc., can be found at: https://www.ece.vt.edu/graduate/admissions.html. Interested applicants are encouraged to first contact Prof. Binoy Ravindran with a resume.