ICSME 2023
Sun 1 - Fri 6 October 2023 Bogotá, Colombia

Alexey Svyatkovskiy (Microsoft) - Towards Automating Pull Request Experience with AI

BIO: Alexey Svyatkovskiy is a Research Manager at Microsoft Data & AI group, part of the Developer Division.

Alexey’s research focuses on machine learning for code understanding and generation. His contributions to this dynamic field are improving the developer landscape by automating various software engineering tasks and enhancing developer productivity in Visual Studio and GitHub platform. Currently, Alexey leads a team of researchers and software engineers. Their collective mission is to create models and algorithms that improve developer productivity through AI. Under his leadership, the team is pioneering techniques to enhance IntelliCode and Copilot code completion and pull request experience.

Prior to joining Microsoft, Alexey made significant contributions to the Machine Learning for Fusion Energy Sciences group at Princeton University. There, his work centered around applying neural approaches for disruption forecasting in tokamak fusion plasmas and scalable research computing.

Keynote Abstract: Pull requests (PRs) play a central role in the GitHub software engineering lifecycle. On the pull request stage, developers navigate a plethora of tasks, including code reviews, bug detection and fixing, and program merging. Harnessing the power of AI to automate these tasks within the PR holds the promise of significantly enhancing developer productivity and software quality

Code review is a key part of the software development lifecycle, ensuring code quality. However, the contemporary code review process requires developers to invest considerable time in understanding, analyzing, and occasionally running newly introduced code. Our research introduces CodeReviewer, a pre-trained model designed specifically for the code review scenario. CodeReviewer excels at code change quality estimation, review comment generation, and code refinement, outshining prior state-of-the-art models.

The software development lifecycle is deeply affected by bugs, from their inception to their eventual rectification. Addressing this, many have proposed methodologies to automate the identification and remediation of software defects. We introduce InferFix, a cutting-edge transformer-based program repair system. Unlike traditional models that learn generic bug-fixing patterns, InferFix, with the aid of a sophisticated static analyzer, zeroes in on pressing security and performance bugs. Harnessing a Retriever-Generator combination, InferFix efficiently locates semantically equivalent bugs and their resolutions. The introduction of InferFix at Microsoft has transformed the continuous integration pipeline, streamlining the detection, categorization, and rectification of bugs.

Merge conflicts are an inescapable part of collaborative software development. MergeBERT: a novel neural program merging framework tailored to resolve these conflicts. MergeBERT utilizes token-level three-way differencing and a transformer encoder model, recasting the generation of resolution sequences into a classification chore. This system showcases commendable results across multiple programming languages. The subsequent integration of MergeBERT with GPT-4 via strategic prompts further amplifies its capabilities, enabling the model to resolve merge conflicts and concurrently offer detailed summaries of the resolutions.

Giulio Antoniol and Andi Marcus - Software Engineering Conferences - Past, Present, and Future

BIO: Giuliano Antoniol (Giulio) worked in companies, research institutions and universities, such as, the Fondazione Bruno Kessler (FBK, formerly IRST), Trento (Italy) and the University of Sannio, Italy. In 2005 he joined the Polytechnique Montreal and was awarded the Canada Research Chair Tier I in Software Change and Evolution.

He has been a member of the editorial board of the Journal of Software Maintenance and Evolution: Research and Practice, the Software Quality Journal, the Empirical Software Engineering Journal, the Information and Software Technology Journal, the Journal of Software Testing Verification&Reliability, and IEEE Software.

He served as program chair, industrial chair, tutorial, and general chair of international conferences and workshops. Dr Giuliano Antoniol served as Deputy Chair of the Steering Committee for the IEEE International Conference on Software Maintenance. He also served in the steering committees of the International Symposium on Search-Based Software Engineering and the International Workshop on Search-Based Software Testing.

Dr Giuliano Antoniol published more than 100 papers in journals and international conferences. He recently contributed to the start and run the Software Engineering for Machine Learning Applications (SEMLA) initiative.

He retired in September 2022, after many years as Full Professor at the Polytechnique Montreal, where he worked in the area of software evolution, empirical software engineering, software traceability, search based software engineering and software testing.

More information at: https://gantoniol.github.io

BIO: A former Fulbright Scholar, born and raised in Romania, Andrian (Andi) Marcus is now a Professor in the Department of Computer Science at George Mason University.

His research interests are in software engineering, with focus on program understanding and software evolution. He is best known for his work on using text retrieval and analysis techniques on software corpora for supporting comprehension during software evolution.

Professionally, he is most proud of his outstanding current and past doctoral students and finds mentoring to be the most rewarding part of the academic career. Over time, their joint research earned six Best/Distinguished Paper Awards and seven Most Influential Paper Awards at software engineering conferences (including two at ICSME).

His professional service includes serving on the Steering Committees of the IEEE International Conference on Software Maintenance and Evolution (ICSME) and of the IEEE Working Conference on Software Visualization (VISSOFT). He was the General Chair and the Program Co-chair of ICSME in 2011 and 2010, respectively, and Program Co-Chair for other conferences (ICPC'09, VISSOFT'13, SANER'17).

On a personal note, he loves Colombia, the Colombian people, their culture and cuisine. He visited Colombia more than a dozen times, he gave invited talks at the Universidad Nacional de Colombia (Bogota) and Universidad de Medellin, and advised several Colombian students.

More information at: https://www.andrianmarcus.net

Keynote Abstract: Maintenance and evolution have been with us since we wrote the first program, and they will be for the foreseeable future. The ICSME community is celebrating nearly 40 years. However, paraphrasing Giovanni Falcone, "ICSME is a human phenomenon, and like all human phenomena, it has a beginning, an evolution and will therefore also have an end".

Academic software engineering conferences and the ICSME community have evolved drastically in the past decades. Conferences were venues for quick dissemination of ideas, feedback from the community, networking, and community building. That is no longer the case, conferences have become the primary publication venues in software engineering.

Are we near the end of the ICSME community as we know it? There are many signs that indicate that. Academia is oppressed by the publish and perish paradigm. New rankings pop up all the time and tend to favor umbrella conferences, at the expense of more community focused events. Economic and environmental factors negatively impact the growth of community conferences, which is essential for long term survival.

In this talk, Giulio and Andi will talk about their experiences within the ICSME community and the software engineering academic conferences, in general. Their perspectives come from two different generations, although they have been collaborators for nearly two decades and share many common views. They will discuss the role of ICSME and other related community conferences (such as, ICPC, MSR, SANER, etc.), compared to the large software engineering conferences (such as, ICSE and FSE). More so, they will launch a call for a community-wide discussion about the future of ICSME and related conferences. The end of an era in our community does not necessarily mean the end of our community. After all, “every new beginning comes from another beginning’s end” - Lucius Seneca (4BC – 65 AD).