Software Engineering and Programming
Available Speakers and their Lectures on this Topic
Rizwan Ahmed – Nagpur, India
-
Agile Project Management
This talk will cover various technical aspects related to Agile Project Management. This talk will cover following specific topics:
Mehdi Bahrami – Santa Clara, CA, United States
-
A Hands-On Workshop: Building Advanced AI Applications and Agents in One Hour
This workshop combines the best of two engaging sessions, offering a comprehensive and hands-on experience in building advanced AI applications and AI agents. We will use the state-of-the-art...
Emery D Berger – Amherst, MA, United States
-
Performance Matters
Performance clearly matters to users. For example, the most common software update on the AppStore is "Bug fixes and performance enhancements." Now that Moore's Law has ended,...
- Saving the World from Spreadsheets
Spreadsheets are one of the most widely used programming environments, with roughly 1 billion users of Microsoft Excel alone. Unfortunately, spreadsheets make it all too easy to make errors...Judy Bowen – Hamilton, New Zealand
-
Designing for Inaccessible People and Places
The benefits of participatory and co-design are well understood and form the foundation of much of the research and development work undertaken within human-centred computing. However, these...
-
Wearable Technology in the Wild
Advances in wearable technology have seen us progress from simple step counters to complex health monitoring devices integrated into watches and smart vests. As technology and algorithmic analysis...
Betty H.C. Cheng – East Lansing, MI, United States
-
Applying Model-Driven Requirements Engineering to Manage Uncertainty for High-Assurance Self-Adaptive Systems: Lessons Learned and Research Challenges
This presentation will overview several research projects that explore how model-driven requirements engineering can been used to model, analyze, and mitigate uncertainty arising in three...
- Be careful what you wish for...When should we trust AI?
Trustworthy artificial intelligence (Trusted AI) is essential when autonomous, safety-critical systems use learning-enabled components (LECs) in uncertain environments. When reliant on deep...- Search-Based Software Engineering for Learning-Enabled Self-Adaptive Systems
Trustworthy artificial intelligence (Trusted AI) is essential when autonomous, safety-critical systems use learning-enabled components (LECs) in uncertain environments. When reliant on deep...- Software Engineering for Learning-Enabled Self-Adaptive Systems
Trustworthy artificial intelligence (Trusted AI) is essential when autonomous, safety-critical systems use learning-enabled components (LECs) in uncertain environments. When reliant on deep...Gilbert Cockton – Sunderland, United Kingdom
-
Full STEAM ahead: Putting an A fully and inseparably into STEAM practices for Software Design
Continued growth in the human well-being has long been seen to depend on continuing advances in STEM disciplines (Science, Technology, Engineering and Mathematics). However, in the last...
Daniela Damian – Victoria, BC, Canada
-
The secret ingredient to Inclusive Software Development
Software engineering is in a diversity crisis. Research shows that software teams that lack diversity also miss the opportunity of leveraging diverse perspectives and experiences and which,...
Kalyanmoy Deb – MI, United States
-
Machine Learning Assisted Improvements to Multi-Criterion Optimization Algorithms
Multi-criterion optimization problems give rise to a set of Pareto-optimal solutions, which first must be found before a single preferred solution is chosen for implementation. To find a...
- Problem Solving with Multiple Criteria ? A New and Innovative Tool in Computing
Most practical search and optimization related problem-solving tasks involve multiple conflicting criteria, which all must be considered simultaneously during an optimization algorithm. A...- Recent Advancements in Evolutionary Multi-Criterion Optimization and Decision-making
Evolutionary multi-criterion optimization (EMO) research is now more than three decades old. Efficient algorithms and demonstrative applications have encouraged researchers...
Lance Eliot – Palo Alto, CA, United States
-
Artificial Intelligence Trends for Computer Science Students
Artificial Intelligence (AI) is a hot topic and offers great opportunities for computer science students. This talk covers the latest key trends in AI and discusses research challenges worthy of...
-
Career Advice for Computer Science Students
What will you do after completing your computer science degree? Many computer science students are unsure of what they will do next after graduation. There are a multitude of avenues to choose...
-
Entrepreneurship for Computer Science Students
Computer science students often dream of being an entrepreneur and launching a high-tech startup but do not know what this entails and how to get underway. This talk covers the key elements of...
Dan Garcia – Millbrae, CA, United States
-
The Snap! (Build Your Own Blocks) Programming Environment
Snap! (formerly BYOB) is a visual, drag-and-drop programming language. It is an extended reimplementation of "Scratch" (a project of the Lifelong Kindergarten Group at the MIT Media Lab)...
John Grundy – Melbourne, Australia
-
Human-centric (Self-Adaptive) Software Engineering
Humans are different - age, gender, language, culture, personality, emotions, physical and mental challenges, living and working situations, and many other ways. Most software adopts a...
- Human-centric Software Engineering
Humans are a key part of software development, including customers, designers, coders, testers and end users. In this talk I discuss several examples from our recent work on handling human-centric...- Impact of End User Human Aspects on Software Engineering
Software is designed and built to help solve human problems. However, much current software fails to take into account the diverse end users of software systems and their differing characteristics...- Paper writing 101: So you want/need to write an SE paper?
This is an advice talk aimed originally at final year Software Engineering Bachelors Honors students, but has been given to PhD, Masters and other undergraduate Software Engineering and wider...- Research Methods in Automated Software Engineering
Originally given to the Automated Software Engineering doctoral symposium, this provides an overview of common ASE (and Software Engineering) methods. It is designed around interaction with a...Sumit Gulwani – Redmond, WA, United States
-
AI-assisted Programming: Applications, Experiences, and Neuro-symbolic techniques
AI can enhance programming experiences for a diverse set of programmers. This includes professional developers and data scientists who require assistance in software engineering and data...
- Art of Disruptive Research
Sumit’s research career, spanning more than 2 decades, has been filled with diverse experiences: from proving theorems to writing code and shipping features inside mass-market...- Enhancing LLM performance with Cognitive Strategies
Large Language Models (LLMs) have emerged as a powerful general-purpose tool capable of performing a wide variety of tasks. However, they are not very precise by themselves. The good news is that...- The Story of Flash Fill and how it shaped me
The Flash Fill feature in Microsoft Excel allows users to automate string transformations like converting “FirstName LastName” to “lastname, firstname” from just one...Gernot Heiser – Sydney, NSW, Australia
-
From niche to prime time: How seL4 changed a research community
Operating system (OS) microkernels had been around since the 1970s, and were popular in the '80, just to become highly unfashionable in the '90s resulting from poor performance and...
Letizia Jaccheri – Trondheim, Norway
-
We Should All Be Feminists in Software Engineering
Software engineering is a paradigm of human activities that incorporates our problem-solving capabilities, cognitive aspects, and social interaction. Software is an infrastructure of all...
Daniel Jackson – Cambridge, MA, United States
-
Concept Design: A New Way to Structure Software
Why are some software applications so easy to use and flexible, and others clunky and limited? Concept design answers this question, by showing how an application can be viewed as a...
Amy J Ko – Seattle, WA, United States
-
Deconstructing CS Culture
Modern computing culture is unquestionably exclusionary. In education, students who are Black, Hispanic, women, women, gender non-conforming, disabled, or divergent in many other way from the...
-
Searching for Justice in Programming Language Design
From its earliest days, computing has been an eclectic project of capitalism, war, colonialism, and white supremacy. Its central Western values of utility, efficiency, rationality, and...
Aditya Kumar – San Jose, CA, United States
-
Code Size Compiler Optimizations and Techniques for Embedded Systems
Code size of embedded applications has been a growing concern recently. While storage becomes cheaper and smaller, developers find creative ways to increase code size by adding features or...
- Performance analysis and optimization
With the rise of complex systems that run on a large number of devices on server farms, performance analysis has become ever so important. Having a comprehensive knowledge of different abstraction...- Performance analysis and optimization of C++ standard libraries
C++ standard libraries are some of the most widely running system libraries on consumer devices and server machines. Most engineers assume the performance of standard libraries are as good...Manoj Kumar Kumar – Sydney, Australia
-
A Fulfilling Career: The Significance of Quality Engineering in Digital Transformation
In the dynamic landscape of modern technology, Quality Engineering has emerged as a pivotal and rewarding career for many professionals. Beyond the confines of traditional development, this...
- Software Craftsmanship: Clean Coding Practices.
In the realm of software engineering, the implications of poorly written code can reverberate far beyond initial setbacks. This holds true for both seasoned professionals and aspiring...Michele Lanza – Lugano, Switzerland
-
Software Visualization
In this talk I will introduce the principles that govern software visualization, and show through a series of examples how they can be applied in practice. Furthermore I will reflect on how such...
David Lo – Singapore, Singapore
-
Charting New Frontiers: Exploring Limits, Threats, and Ecosystems of LLMs in Software Engineering
Large language models (LLMs) are transforming software engineering, but their adoption brings critical challenges. In this lecture, I will explore three key thrusts: the *limits* of LLMs,...
- Efficacy, Efficiency, and Security of Code LLMs: Promises and Perils
Researchers have explored methods to automate software engineering (ASE) tasks for decades. In recent years, we have been excited about the potential of code Large Language Models (code LLMs) for...- Efficient and Green Code LLMs: Happier Software Engineers, Happier Planet
Many have been excited about the potential of code Large Language Models (code LLMs). However, code LLMs are large, slow, and energy-hungry compared to traditional ASE solutions, which...- Requirements Engineering for Trustworthy Human-AI Synergy in Software Engineering 2.0
Software Engineering 2.0 envisions trustworthy and synergistic collaborations between humans and AI agents that are diverse, responsible, and autonomous, aiming to build the software of...- Software Reliability in the Era of Large Language Models: A Dual Perspective
Much software engineering research has been dedicated to building reliable software systems. The last two decades have witnessed the growth of software engineering data availability that spurred...Walid Maalej – Hamburg, Germany
-
(Tech-) Transfer: Patterns and Lessons Learned from the "German Model"
Universities around the world are extending their main purpose from Research and Education to a third pillar often called Knowledge/Tech Transfer or simply Transfer. This lecture aims at...
- Modern Requirements Engineering
This lecture will discuss modern requirements engineering (RE) which is often not called so. It will first quickly review the field and its evolution with two persistent, often misleading...- Rethinking Mining Software Repositories: On the Importance of Manual Analysis for Automation
Mining Software Repositories (MSR) represents not only a vivid community within the field of Software Engineering but also a research methodology, which has become very popular among...Mehdi Mirakhorli – Rochester, NY, United States
-
Securing Software Supply Chain
Software development is not always transparent, especially in commercial and non-open source software. When acquiring a software product, vendors often lack sufficient insight into the ability of...
Corina Pasareanu – Sunnyvale, CA, United States
-
Formal Verification and Run-time Monitoring for Learning-Enabled Autonomous Systems
Providing safety guarantees for autonomous systems is difficult as these...
Denys Poshyvanyk – Williamsburg, VA, United States
-
Deep Learning for Software Engineering
Bridging the abstraction gap between concepts and source code is the essence of software engineering (SE). SE researchers regularly use machine learning to bridge this gap, but there are...
Federica Sarro – London, United Kingdom
-
Automated Optimisation of Modern Software System Properties
Realizing modern software systems poses new challenges to the software engineers: Users of applications running on limited capability devices still demand acceptable...
-
MEG: Multi-objective Ensemble Generation
Recent studies have found that ensemble prediction models (i.e., aggregation of multiple base classifiers) can achieve more accurate results than those that would have been obtained by...
- Search-based Software Engineering for Modern Software Systems
Realizing modern software systems poses new challenges to the software engineers: Users of applications running on limited capability devices still demand acceptable performance, users of...- Software Fairness
Software Fairness is an emerging property of modern AI-enabled software systems.Many real-world software is vulnerable to fairness bugs and frequently exhibit unfair...Yehonathan Sharvit – Jerusalem, Israel
-
Reduce system complexity with Data-Oriented Programming
Audience : Developers and managersComplexity is one of the main difficulties in the development of successful software systems. Modern...
- Taming Complexity with Data-Oriented Programming
Audience : Managers and architects
In an era marked by the exponential growth of data and the intricacies of modern cloud-based systems, the need to...- The Secret Art of Storytelling in Programming
Audience : Developers and managers
Reading code often feels like a chore, bogged down by monotonous lines that obscure the essence of the...Diomidis Spinellis – Athens, Greece
-
Engineering Software Analytics Studies
Performing quantitative software analytics studies can be an immensely rewarding activity for scientists performing empirical research. However, such studies often pose numerous engineering...
-
Locating and Addressing Performance Issues
Performance is resurfacing as a problem for developers. In this session we will see how we can locate the source of performance problems and ways to solve them. We will work top-down,...
-
The Antikythera Mechanism: Hacking with Gears
The Mechanism of Antikythera is an astronomical calculator from the first century B.C. Its currently agreed-on model consists of 35 gears. Its back face contains four dials tracing a luni-solar...
-
The Triumph of the New Jersey Style: How Architectural Elegance, Components, and Reuse Shaped the Evolution of Unix
Unix has evolved for almost five decades, shaping modern operating systems, key software technologies, and development practices. Studying the evolution of this remarkable system from an...
-
Working with open-source software: Selecting, using, adapting, and contributing back
Software components, such as the zlib compression library, the SQLite relational database engine, and the JPEG and PNG reference implementations, are deployed in billions of devices. Thanks to...
Zhendong Su – Zurich, Switzerland
-
Solidifying the Software Foundations
Software applications and technologies are built on top of foundational systems such as compilers, databases, and theorem provers. Such foundations form the trusted computing base, and...
-
Toward a Better Software Future
The key mission of computer science is to help people construct reliable, performant, and usable software. To this end, there have been...
-
Toward that Ultimate Bug Detector
The key mission of computer science is to help people construct reliable, performant, and usable software. To this end, there have been substantial conceptual, technological, and practical...
Titus Winters – Long Island City, NY, United States
-
Basics of Tech Debt
Across the industry, most engineers have one common complaint: we are drowning in technical debt. But at the same time, we’ve seen far too many tech debt programs launched, only to...
- Design is Testability
For Software Engineering practitioners, the past 10 years have seen an explosive rise in the adoption of continuous...
- Software Is a Team Sport
The primary factor behind the success of the best software teams is not programming language, seniority, or development environment. Instead, time and again the research shows that team culture is...- Vision for a Modern Software Workflow
We’ve heard the generalities: “shift left” for cheaper bug resolution or “avoid work-in-progress” for more efficient development. How do those mix? What is the... - Design is Testability
- Taming Complexity with Data-Oriented Programming
- Search-based Software Engineering for Modern Software Systems
-
Automated Optimisation of Modern Software System Properties
- Modern Requirements Engineering
- Efficacy, Efficiency, and Security of Code LLMs: Promises and Perils
- Software Craftsmanship: Clean Coding Practices.
- Performance analysis and optimization
-
Deconstructing CS Culture
-
Concept Design: A New Way to Structure Software
-
We Should All Be Feminists in Software Engineering
- Art of Disruptive Research
- Human-centric Software Engineering
- Problem Solving with Multiple Criteria ? A New and Innovative Tool in Computing
-
Machine Learning Assisted Improvements to Multi-Criterion Optimization Algorithms
-
The secret ingredient to Inclusive Software Development
- Be careful what you wish for...When should we trust AI?
- Saving the World from Spreadsheets
-
A Hands-On Workshop: Building Advanced AI Applications and Agents in One Hour