SANER 2024
Tue 12 - Fri 15 March 2024 Rovaniemi , Finland

Naturalness and Bimodality of Software

Pre propic

Abstract.
While natural languages are rich in vocabulary and grammatical flexibility, most human are mundane and repetitive. This repetitiveness in natural language has led to great advances in statistical NLP methods.

At UC Davis, we discovered (a decade ago) that, despite the considerable power and flexibility of programming languages, large software corpora are actually even more repetitive than NL Corpora. We went on to show that this “naturalness” of code could be captured in statistical models, and exploited within software tools. This line of work enjoyed a tremendous boost from the high-capacity and flexibility of deep learning models.

Numerous other creative and interesting applications of naturalness have ensued, from colleagues around the world. More recently, we have focused on another property of software: it is bimodal. Software is written not only to be run on machines, but also read by humans; this makes it amenable to both formal analysis, and statistical prediction. Bimodality allows new ways of training machine learning models, new ways of designing analysis algorithms, and new ways to understand the practice of programming. In this talk, I will present an overview of “Naturalness” studies, and the promise of bimodality.

Biography.
Prem Devanbu got his B. Tech in EE from IIT Madras and his PhD in CS from Rutgers University. After a long industrial career at Bell Labs, he joined UC Davis, where he is now Distinguished Research Professor of Computer Science. His research interests currently are in combining the formal and statistical properties of code to improve Software tools and processes, and also in helping human developers make better use of the increasingly impressive but still imperfect services offered by large language models. Prem has won several awards, including ACM SIGSOFT Test-of-time awards, ICSE and MSR Most influential paper awards, and the ACM SIGSOFT Outstanding Research Award. He has also won the Research Prize, from the Alexander von Humboldt Foundation in Germany. He is an ACM Fellow.

Bringing the power of AI to your application

ipek propic

Abstract.
Artificial Intelligence (AI), and specifically Large Language Models (LLMs) such as GPT-4 from OpenAI, is taking over the software development world - more and more applications are trying to build integrations with those powerful models.

But how do those models work? Is their power as unlimited as it seems? How to communicate with AI and make sure it does what you need? In this talk, you will get a practical introduction to the world of LLMs and the art and science of prompt crafting. You will learn how to use AI models, how to design efficient inputs to the model - called prompts - and what techniques you can use to make your prompts better or how to chain multiple AI queries together. I will also discuss what are UX considerations when building AI tools and how to measure the impact of changes in AI systems… and try to answer the question - “should I integrate AI into my application?”

Biography.
Krzysztof Cieślak is a photographer, globetrotter, and public speaker. He works as a Principal Research Engineer at GitHub Next, where he designs and builds the next generation of developer tools such as GitHub Copilot or Copilot Voice.

After the work, Krzysztof is an open-source software maintainer passionate about functional programming (especially F#), editor tooling and developer experience - he has created and maintained several OSS projects varying from language servers to web frameworks to VSCode plugins.

Additionally, he is a passionate public speaker. You can meet him at many conferences around the world, where he is always trying to meet new people and learn how to improve software developers’ lives.