Brown CS News

Nikos Vasilakis Joins Brown CS As Assistant Professor

    Click the link that follows for more news about our history-making CS With Impact expansion.

    Nikos Vasilakis, who joins Brown CS as Assistant Professor this fall, says that the desire to create the greatest positive impact for as many people as possible has always informed his research, teaching, and his broader efforts. He’s the latest hire in the multi-year CS With Impact campaign, the largest Brown CS expansion to date.

    “My long-term goal,” he explains, “is to lower the cost of building complex software systems while improving their quality and security throughout their entire life cycle.” 

    In conversation, Vasilakis is focused on the future, yet insistent on present-day results. When asked if he’d rather be working now or in the early days of computing, when so much ground was not yet trodden, his answer gives hints of a longtime obsession with tangible results, transformation, and wide scope.

    “It would be fascinating to have influenced the beginning of this technological revolution,” says Nikos, “but now we’re really at the stage of answering interesting questions. For many decades, computer scientists often designed solutions to somewhat imaginary problems: ‘If the scale were to become that big, we’d need…’ Today, the scale is that big. We’re ready for clever solutions and practical impact across all research areas, which is exciting.”

    Vasilakis explains that his earliest attraction to computing sprang from its multidisciplinary potential. “During high school,” he says, “I was into music synthesis, so I wanted to understand the principles behind software-based synthesis.” He had a realization just before leaving for university that computing would give him the opportunity to interact with a plethora of disciplines because of their connections to computer science. (During his undergraduate studies, Nikos and his collaborators released music under the Ailo moniker.)

    Arriving at the University of Patras to study Computer Engineering and Informatics, Nikos had hopes of a career that would let him combine art and science. Accordingly, one of the first research projects he joined focused on distributed-systems support for interactive art installations.

    “My soon-to-be undergraduate advisor,” he says, “had this crazy idea of having all students in the distributed-systems seminar build components of a larger-scale research project. The project evolved into something that combined gaming, art, distributed systems, and published research. That was when I realized that I was into systems research – but also that the kind of creativity involved in research is not that different from the one involved in the arts.”

    That early research, he explains, provided several problems that would hold his attention for years to come. “At some level,” Nikos says, “we were working on the usability needs that distributed-systems developers have. When we talk about usability, we tend to think about end users. But when you’re a developer building distributed applications, you face different usability challenges. For example, how do you compose software components created with different assumptions about the distributed environment they run in?"

    After joining the University of Pennsylvania for his PhD, Vasilakis interacted with the programming-languages group as part of a large interdisciplinary project: “Through these interactions, I developed an appreciation of languages as the key interface between developers and these applications.”

    Currently, he describes his research as building systems that transform other systems, lifting the capabilities of programmers working with the complexity of modern software systems. The goal is to automate away inessential complexity, he says, and automate in desired features: securing programs that use hundreds of software dependencies, bolting distribution onto existing applications, and parallelizing large-scale pipelines built out of multi-language components. 

    “In my experience,” Nikos says, “most CS graduates go off to a big tech company and work on extending existing software systems instead of building new ones from scratch. I became interested in how systems research could help these developers be more efficient in that process. This view imposes a new set of constraints over our research, because now an elegant solution must also play by the existing rules of the developer's universe – for example, it must interoperate with existing software artifacts.”

    Vasilakis sees his research moving in parallel with a worldwide increase in computing literacy, with the ability to write simple scripts becoming as essential for modern life as basic mathematical ability and command of language. Today, he believes, almost everyone is becoming more of a developer.

    “And I believe my group's work has the potential to have a positive impact for many of those people,” he says. “If techniques like the ones we’re developing become more popular, then many ‘more-of-a-developer’ practitioners may be able to accomplish tasks that currently require a Master’s or PhD in computer science, or that aren’t even possible at present.” 

    “I’m interested in today,” he enthuses. “A lot of my systems have that flavor: in my work with Unix/Linux shell scripts, I want everybody to be able to accelerate their shell programs today, not next year. My security work is similarly tackling problems that developers have right now.”

    Vasilakis is also co-founder and CTO of Require Security, a startup intended to transition his software supply-chain research to industry. It offers automated, developer-friendly technologies for securing untrusted open-source libraries.

    Asked about a favorite recent project, Nikos cites PaSh, a system with several extensions and sibling projects that offers automated parallelization (and, soon, distribution) of Unix/Linux shell scripts, along with serious correctness and compatibility guarantees. It’s received a Best Paper Award at EuroSys 21 and a Distinguished Presentation Award at HotOS XVIII.

    “In our opinion,” Nikos says, “PaSh solves problems that have been around for quite a while: Unix/Linux shell scripting has been used extensively for half a century partly due to a unique simplicity that allows developers to combine whatever tools they wish in the same program. This provides great efficiency, but creates a lot of challenges for automated parallelization and distribution. PaSh solves this in an elegant way, providing all the benefits of accelerated computation while maintaining compatibility. We don’t break your programs and get you better performance, which is one of the strongest results that you can hope for in systems research.”

    To learn more about PaSh, read their paper, try out their code, or look at their new paper, which was presented at OSDI 22.

    PaSh and its siblings will continue at Brown, but Vasilakis is similarly eager about the teaching, mentoring, and collaborating possibilities that await. Collaboration is a word that recurs in conversation with Nikos, and a request for collaborators and mentees has a prominent place on his website.

    “At some level,” he says, “collaboration is necessary to make any meaningful progress in science today. In systems in particular, you need to work with other people to answer questions that are important to humanity. I’ve been very fortunate to have outstanding collaborators, the kind of people that make you wake up thinking about being at your whiteboard and working next to them. I’ve never had a collaboration where I didn’t learn something.”  

    Nikos says he’s already seen evidence that Brown students are highly collaborative as well as engaged and creative, and he finds this invaluable: “Some of my closest colleagues and collaborators got their degrees from Brown, so I already had an idea of how strong the environment was. For example, I’d heard about Tom Doeppner's legendary operating-systems course way before meeting him. But when I met current students, I was still quite surprised by how talented and creative they were. And some of these characteristics are things you can't easily teach: people seem to learn them via osmosis from their broader environment.”

    For more information, click the link that follows to contact Brown CS Communications Manager Jesse C. Polhemus.