In person
In 2023, the 14th edition of CBSoft will once again be held in person, from September 25th to 29th on Campo Grande, Mato Grosso do Sul👉 Map

Brazilian Symposium on Software Engineering

Sumit Gulwani
Analogical Reasoning Engines: Flash Fill vs GPT-4

Analogical reasoning is at the heart of problem solving. On one hand, we have domain-specific analogical reasoning engines like Flash Fill, which utilize symbolic AI to synthesize programs from examples. On the other hand, analogical reasoning is a fundamental emergent capability of Large Language Models (LLMs) like GPT-4, allowing it to enhance various kinds of programming experiences.

This analogical-reasoning-based perspective has two profound implications. First, framing a problem as one of analogical reasoning can elicit a more effective response from the LLM. Such analogies can also be extracted from spatial-temporal context or from an example bank. Second, various ideas from Programming-by-examples-or-analogies work such as domain-specific languages, generate and rank, failure-guided iteration, and neuro-symbolic cooperation, can be employed to improve LLM performance. This manifests through three forms: (a) Prompt engineering that involves synthesizing specification-rich, context-aware prompts from various sources, sometimes using the LLM itself, to elicit optimal output. (b) Post-processing techniques that guide, rank, and validate the LLM's output, occasionally employing the LLM for these purposes. (c) Multi-turn workflows that involve multiple LLM invocations, allowing the model more time and iterations to optimize results.

I will illustrate these concepts using a variety of programming-related tasks, including programming from input-output examples or natural-language-based specification and code repair or edit suggestions. These innovations also equip GPT-4 to effectively tackle Flash-Fill-style analogies. So, who wins? Join me for the talk to find out!

Sumit Gulwani is a computer scientist connecting ideas, people, and research & practice. He invented the popular Flash Fill feature in Excel, which has now also found its place in middle-school computing textbooks. He leads the PROSE research and engineering team at Microsoft that develops APIs for program synthesis and has incorporated them into various Microsoft products including Visual Studio, Office, Notebooks, PowerQuery, PowerApps, PowerAutomate, Powershell, and SQL. He is a sponsor of storytelling trainings and initiatives within Microsoft. He has started a novel research fellowship program in India, a remote apprenticeship model to scale up impact while nurturing globally diverse talent and growing research leaders. He has co-authored 11 award-winning papers (including 3 test-of-time awards from ICSE and POPL) amongst 150+ research publications across multiple computer science areas and delivered 65+ keynotes/invited talks. He was awarded the Max Planck-Humboldt medal in 2021 and the ACM SIGPLAN Robin Milner Young Researcher Award in 2014 for his pioneering contributions to program synthesis and intelligent tutoring systems. He obtained his PhD in Computer Science from UC-Berkeley, and was awarded the ACM SIGPLAN Outstanding Doctoral Dissertation Award. He obtained his BTech in Computer Science and Engineering from IIT Kanpur, and was awarded the President’s Gold Medal.

Eduardo Almeida
Federal University of Bahia
On the Mental Health of Software Development Professionals

Mental health disorders have a significant impact on many individuals, resulting in a considerable loss of lives each year. These disorders not only affect the well-being of those struggling but also have adverse effects on businesses. Productivity is hampered due to missed workdays and reduced employee performance. Recent studies reveal alarming statistics regarding the prevalence of mental health disorders, such as depression and anxiety, in specific contexts like academia. However, limited research has been conducted in the software industry to understand the presence of mental health disorders and the job-related factors that may contribute to the decline of mental well-being among software professionals.

In this talk, I will share the findings of our studies on the mental health of software development professionals. Our results offer compelling evidence that mental health is a critical issue that needs to be addressed within the software industry. Furthermore, we will propose actionable directions for implementing changes aimed at improving the mental well-being of software professionals.

Eduardo Almeida received the Ph.D. degree in computer science from the Federal University of Pernambuco, Brazil. He is currently an associate professor with the Department of Computer Science, Federal University of Bahia, where he leads the RiSE Labs. His research interests include software reuse, software product lines, software architecture, and empirical software engineering. He is a senior member of ACM. He is a senior member of ACM and member of Brazilian Academy of Sciences (ABC).

Walid Maalej
Universitat Hamburg
AI Engineering - How can Software & Requirements Engineering Help Solving the "AI Dilemma"

AI and Software Engineering have co-evolved and profited from each other since their beginnings. During the last decade, Software Engineering has particularly profited from advances in Machine Learning and in Natural language Processing. By now, recommender systems, prediction models, and bots have become standard tools to support software engineering tasks: from requirements elicitation and documentation, to code generation and quality assurance.

The current decade will however be focusing on the opposite direction, i.e. how can AI profit from Software Engineering. This lecture will show how recent challenges faced by the Machine Learning, NLP, as well as the Data Science communities are primarily engineering challenges. The lecture lays out how traditional as well as modern Software and Requirements Engineering can help address these challenges: in order to increase the applicability, acceptance, and reliability of AI-based systems in practice.

Walid Maalej is an award-winning software & requirements researcher, passionate educator, and handicraft enthusiast. As Professor of Informatics at the University of Hamburg, he teaches software development basics to up to 700 students in a single course, using fun activities and pair-programming. His advanced software engineering courses address real challenges from industry and society by combining cutting-edge technology with a large portion of empiricism and communication skills. As head of informatics department, he successfully navigated the department through turbulent pandemic times including an exceptional budget cut.

Prof. Maalej’s research interests include AI engineering, user involvement and feedback mining, sustainability in software, as well as knowledge creation and sharing in software projects. His work on these topics has been cited thousands of times and received a.o. the ACM SIGSOFT Distinguished Paper Award, IEEE RE Best Paper Award, MSR Most Influential Paper Award, as well as awards by Google and Microsoft. In 2014 Prof. Maalej was named “The Early Stage Scientist of the Year” by academics and the German Association of University Professors (DHV) across all disciplines. He currently serves as Steering Committee Chair of the Requirements Engineering conference series. Prof. Maalej has worked as developer and consultant with and for multiple companies and organizations including Siemens, Tata Consultancy Services, Rohde und Schwarz, and Telekom. He received his doctoral degree in informatics from TU Munich with distinction and is also a proud alumni of the Center for Digital Technology and Management.