SIGSOFT / ACM Webinars

We hope you can join us for the upcoming SIGOFT and ACM PD sponsored webinars.

Follow the links below to register for these free 60 minute webinars and be sure to share this with friends and colleagues who may be interested in this topic. Check out our past events, all available on demand.

Each talk will be followed by a moderated live question and answer session.

Note: If you'd like to attend but can't make it to the virtual event, you still need to register to receive a recording of the webinar when it becomes available. You can stream this and all ACM SIGSOFT and ACM Learning Webinars on your mobile device, including smartphones and tablets.

Metamorphic Testing: Introduction and Applications
September 27, 2017 at 12:00 PM Eastern Daylight Time

Registration and more information

Speakers: Sergio Segura, Seville University, and Zhi Quan (George) Zhou, University of Wollongong; moderator: Will Tracz

Abstract:
What if we could test a program by using the program itself? What if we could tell if a program is buggy even when we cannot distinguish erroneous outputs from the correct ones? This is exactly the advantage of metamorphic testing, a technique where failures are not revealed by checking an individual concrete output, but by checking the relationship among the inputs and outputs of multiple executions of the program under test. Nearly two decades after its introduction, metamorphic testing is becoming a fully-fledged testing paradigm with successful applications in multiple domains including, among others, online search engines, simulators, compilers, and machine learning programs. This webinar will provide an introduction to metamorphic testing from a double perspective. First, Sergio Segura will present the technique and the results of a novel survey outlining its main trends and lessons learned. Then, Zhi Quan Zhou will go deeper and present some of the successful applications of the technique using multiple examples.

Lessons Learned From Working In Industry And Academia
September 14, 2017 at 12:00 PM Eastern Daylight Time

Registration and more information

Speaker: Douglas Comer, Purdue University; moderator: Robert Dyer

Abstract:
Although he has spent most of his career in academia, Dr. Comer has taken several leaves of absence to work in industry. This talk distills his observations about fundamental differences between an academic environment and an industrial environment. It considers the structure of organizations, project time scales, attitudes, reward systems, and innovation. The talk also highlights the differences between software and hardware engineering. Finally, the talk examines research and the effect of 20th century industrial research labs on both the research community and industry.

Are agile methodologies the right approach for industry - academia research collaboration?
August 24, 2017 at 12:00 PM Eastern Daylight Time

Registration and more information

Speaker: Ivica Crnkovic, Chalmers University and Mälardalen University; moderator: Robert Dyer

Abstract:
Continuous and long-term collaboration between industry and academia is crucial for front-line research and for a successful utilization of the research results. In spite of many mutual benefits, this collaboration is often challenging, not only due to different goals, but also because of different pace in providing the results. The software development industry has during the last decade aligned their development process with agile methodologies. For the researchers, the agile methodologies are a topic for a research, rather than a means of performing the research itself. However, research is often characterized by elements that can be related to practices from agile methodologies. We can ask a question, whether the agile methodologies can be a good common ground for enabling successful research collaboration between industry and academia? Is it possible to apply certain agile practices established in industry, e.g. SCRUM for collaboration projects? Which would be the possible benefits, and possible unwanted side-effects? These questions will be discussed in the presentation. The presentation will also elaborate experiences from a longitudinal case study of a collaboration between several academic institutions and several companies, which stepwise adopted SCRUM over a six-year period.

Three Years in the Startup Trenches: Reflections on People, Product, and Software Evolution
August 4, 2017 at 12:00 PM Eastern Daylight Time

Registration and more information

Speaker: Andrew J. Ko, University of Washington; moderator: Robert Dyer

Abstract:
Many developers work in startups, but few have the time or incentive to reflect rigorously on their experiences, and then share those reflections. In this talk, I will report on my efforts to engage in such reflection, spanning three-years of daily diary writing while I acted as CTO and co-founder of a software startup. Based on an analysis of my more than 9,000 hours of experience, I will share several ideas on how software evolves in startups, how the people in startups shape and constrain its evolution, and how the decisions behind this evolution are primarily structured by a company's beliefs about it's software's ever-evolving value to customers. Based on these ideas, I share several implications for how developers in startups might rethink their roles as engineers from builders to translators of value.

Software Quality Measurement
May 17, 2017 at 12:00 PM Eastern Daylight Time

Registration and more information

Speakers: Ravi Sethi, University of Arizona, and John Palframan, Sustainable Software; moderators: Robert Dyer and Will Tracz

Abstract:
The software quality improvement method described in this webinar is a data driven approach with these elements:

  • A quantified post-release measure of software quality from the customer perspective. This customer quality measure tells us if the methods used to improve quality have been effective or if alternative methods are needed.
  • Pre-release measurement of the effectiveness of error removal practices that have a positive correlation with the customer quality metric. If the metric shows that development efforts will not result in post-release quality improvement, corrective and inexpensive action can be taken early.
  • Focus limited quality improvement resources on the riskiest portions of the code base This is important because development organizations are resource constrained, so the organization wants to get the biggest bang for the buck.

The post-release customer quality metric is based on serious defects that are reported by customers after systems are deployed. The pre-release implementation quality index serves as a predictor of future customer quality; empirical analysis shows a positive correlation with the customer quality metric. One prioritization technique used, introduced in this webinar and discussed in more detail in a later webinar, focuses limited resources on the top 1% riskiest files in the code. Governance for the improvement method was provided by regular reviews with an R&D quality council.

These techniques, used by a large telecommunications company, contributed to improving its Net Promoter Score over 3 years by 60%.

By the end of this webinar you should understand how to establish your own measurement program based on customer perceived quality.

For more information on improving Customer Perceived Quality, see the following paper:

Randy Hackbarth, Audris Mockus, John Palframan, Ravi Sethi, "Improving Software Quality as Customers Perceive It", IEEE Software, vol. 33, no. , pp. 40-45, July-Aug. 2016, doi:10.1109/MS.2015.76

Introducing the Vulnerability History Project
May 4, 2017 at 12:00 PM Eastern Daylight Time

Registration and more information

Speakers: Andy Meneely, Rochester Institute of Technology, and Robert Dyer, Bowling Green State University

Abstract:
A critical piece of securing our nation's digital infrastructure is to reduce vulnerabilities in software. Vulnerabilities, while prevalent in the media and national conversation, are rare occurrences in software, existing in only approximately 1% of source code files. While many vulnerabilities look like simple coding mistakes, preventing these vulnerabilities is extraordinarily difficult as they are small, difficult to test for, and require an attacker mindset to think of. Software engineering researchers have been studying how these vulnerabilities manifest themselves in software from an empirical, evidence-based perspective. While research knowledge has proven useful to academic audiences, the stories of how vulnerabilities arise in software have yet to gain a wider audience, namely in students and professional software engineers.

In this webinar, Dr. Andy Meneely will discuss his efforts to create the Vulnerability History Project (VHP). The VHP is a data source, a collaboration platform, and a visual tool to explore the engineering failures behind vulnerabilities. The VHP is a collaboration among undergraduate students, security researchers, and professional software engineers to aggregate, curate, annotate, and visualize the history behind thousands of vulnerabilities that are patched in software systems every year. This data curation project allows researchers to conduct in-depth studies of open source products, as well as educate software engineers-in-training and in the field on what can go wrong in their software project that leads to vulnerabilities.

Software Assessment
April 26, 2017 at 12:00 PM Eastern Daylight Time

Registration and more information

Speakers: David Weiss, Iowa State University and Sustainable Software, and Randy Hackbarth, Sustainable Software; moderators: Robert Dyer and Will Tracz

Abstract:
In this webinar, we describe an annual corporate-wide software assessment process that has been used successfully for more than 10 years to improve software competency within a large company. The process is tailored to address specific goals of an organization. A company's software development organization is continually called upon to improve the quality of its software, to decrease its time-to-market, and to decrease the cost of development and maintenance of its software. Under these pressures, it is critical to identify changes in development processes, environments, cultures, and tools that maximize improvement, that can be accomplished with existing resources, that help the company to be more competitive, and that produce measurable results.

We will use examples taken from annual assessments, described in a yearly report, to illustrate the methods used, both qualitative methods, using interviews, and quantitative methods using big data. We will discuss the lessons learned from the results of applying those methods. We show why and how the scope of the report and the methods used evolved over time, how the report became a basis for software improvement in the company, what the impact of the report was and how we estimate that impact, both financially and subjectively. We discuss why this approach was successful and provide suggestions for how to initiate a corresponding effort.

By the end of this webinar you should understand how to establish your own organization's software assessment program.

For more information on state of software assessments, see chapter 15 in “Assessing the State of Software: A 12 Year Retrospective”, by Hackbarth, Palframan, Mockus, Weiss; in The Art and Science of Analyzing Software Data, edited by Christian Bird, Tim Menzies, and Thomas Zimmerman, Elsevier, August, 2015.

Being agile and lean in constrained and regulated environments
March 23, 2017 at 12:00 PM Eastern Daylight Time

Registration and more information

Speakers: Paul E. McMahon, PEM Systems, and Will Tracz, ACM SIGSOFT

Abstract:
In 2008, then Secretary of Defense for the US Government, Robert Gates stated that we can’t keep looking for the 100% solution. Before this point in time, people were trying agile approaches in defense companies, but they weren't openly talking about it. It was underground because the common belief at that time was there was something wrong with being agile in a regulated environment. But Gates' statement in 2008 marked a key turning point that changed how the Department of Defense (DoD) viewed agile and lean approaches and it eventually led to a new DoD instruction 5000.02 released in January, 2015. This webinar is about being agile and lean in regulated environments, but it isn't just about how to do it in the US defense industry because the challenges faced are similar in other regulated industries including medical, pharmaceutical, and financial. Those challenges tie to what it really means to be agile and lean versus common false beliefs which will be highlighted in the webinar along with tips and pitfalls to help webinar participants locate their right level of "becoming agile and lean" while also ensuring regulatory compliance. Actual case study stories will be cited along with multiple references to where webinar participants can find related published material.

Transferring Software Testing Tools to Practice
June 22, 2016 at 12:00 PM Eastern Daylight Time

Registration and more information

Speakers: Nikolai Tillmann, Microsoft, Judith Bishop, Microsoft Research and Tao Xie, University of Illinois at Urbana-Champaign

Abstract:
Achieving successful technology adoption in practice has often been an important goal for both academic and industrial researchers. However, it is generally challenging to transfer research results into industrial products or into tools that are widely adopted. What are the key factors that lead to practical impact for a research project? This talk presents our experiences and lessons learned in successfully transferring tools from a medium-sized software testing project, Pex (http://research.microsoft.com/pex). Over the course of nearly a decade, the collaboration between groups at Microsoft across the world, and academics in various universities has led to high-impact tools that are now shipped by the company and adopted by the community. These tools include Fakes, a test isolation framework shipped with Visual Studio 2012/2013; IntelliTest, an automatic test generation tool shipped with Visual Studio 2015; and Code Hunt (https://www.codehunt.com), a popular serious gaming platform for coding contests and practicing programming skills, which has attracted hundreds of thousands of users since 2014. Attendees will take away with some general ideas from our experiences that they can apply within their own projects.

Lies, Damned Lies and Software Analytics: Why Big Data Needs Thick Data
May 4, 2016 at 12:00 PM Eastern Daylight Time

Registration and more information

Speakers: Margaret-Anne Storey, University of Victoria, and Robert Dyer, Bowling Green State University

Abstract:
Software analytics and the use of computational methods on "big" data in software engineering is transforming the ways software is developed, used, improved and deployed. Software engineering researchers and practitioners are witnessing an increasing trend in the availability of diverse trace and operational data and the methods to analyze it. This information is being used to paint a picture of how software is engineered and suggest ways it may be improved. But we have to remember that software engineering is inherently a socio-technical endeavour, with complex practices, activities and cultural aspects that cannot be externalized or captured by tools alone -- in fact, they may be perturbed when trace data is surfaced and analyzed in a transparent manner.

In this talk, I will ask:

  • Are researchers and practitioners adequately considering the unanticipated impacts that software analytics can have on software engineering processes and stakeholders?
  • Are there important questions that are not being asked because the answers do not lie in the data that are readily available?
  • Can we improve the application of software analytics using other methods that collect insights directly from participants in software engineering (e.g., through observations)?

I will explore these questions through specific examples and discuss how software analytics that depend on "big data" from tools, as well as methods that collect "thick" data from participants, can be mutually beneficial in improving software engineering research and practice.

Improving Software Development Productivity Minute-by-Minute
January 20, 2016 at 12:00 PM Eastern Standard Time

Registration and more information

Speakers: Gail C. Murphy, Tasktop Technologies and University of British Columbia, and Betty Zakheim, Tasktop Technologies

Abstract:
Everyone seems to want more software developed and produced faster. Yet simply ramping up the number of individuals able to produce software is not sufficient; it is also important to improve the productivity of the software developers. But, what is software development productivity anyway? When do software developers consider themselves productive? What friction exists in software development that lowers productivity? In this talk, Gail Murphy will discuss recent studies about software development productivity from the eyes of developers and will suggest directions to improve software development productivity based on the daily activities of software developers. This talk includes joint work with T. Fritz (U. Zürich), A. Meyer (U. Zürich) and T. Zimmermann (Microsoft Research).

Lessons Learned from the International Workshop on Release Engineering
December 18, 2015 at 2:00 PM Eastern Standard Time

Registration and more information

Speakers: Bram Adams, Polytechnique Montreal, Stephany Bellomo, SEI, Foutse Khomh, Polytechnique Montreal, Shane McIntosh, McGill University

Abstract:
The release engineering process brings high quality code changes from a developer's workspace to the end user, encompassing (amongst others) the integration of code changes, continuous building/testing of such changes (CI), setup of deployment environments, deployment and release. Recent practices of continuous delivery, which bring changes to the end user in the order of days or hours rather than years, have convinced many companies to invest in their release engineering pipeline and teams. However, what exactly should these companies invest in? Which continuous delivery strategies work, and which ones did not (and why)? Do only large companies benefit? These and other questions were targeted by the past three editions of the International Workshop on Release Engineering (RELENG) and the 1st IEEE Software Special Issue on Release Engineering. This webinar will revisit the major insights and discussion points of RELENG, aiming to provide a starting point for companies to decide on their future release engineering strategy.

Software Testing: A Research Travelogue
November 18, 2015 at 12:00 PM Eastern Standard Time

Registration and more information

Speakers: Alessandro Orso, Georgia Institute of Technology, Gregg Rothermel, University of Nebraska-Lincoln and Willem Visser, Stellenbosch University

Abstract:
Despite decades of work by researchers and practitioners on numerous software quality assurance techniques, testing remains one of the most widely practiced and studied approaches for assessing and improving software quality. In this webinar, which is based on our ICSE 2014 "Future of Software Engineering" paper, we provide an accounting of some of the most successful research performed in software testing in the last 15 years and present some of the most significant challenges and opportunities in this area. To be more inclusive in this effort, and to go beyond our own personal opinions and biases, we began this effort by collecting the input of 50 of our colleagues, both in academia and in industry, who are active in the testing research area. What we will provide is therefore not only our views, but also those of the software testing community in general.

Traceability is the New Black!
October 07, 2015 at 12:00 PM Eastern Daylight Time

Registration and more information

Speaker: Jane Cleland-Huang, DePaul University

Abstract:
Modern Software and Systems engineering projects produce large quantities of data as a natural byproduct of the engineering process. Artifacts include user stories, requirements, design documents, source code, commit logs, project plans, and much more. When combined with the power of software analytics, this data can deliver actionable intelligence into the hands of project stakeholders. Such intelligence supports decision making, process improvement, safety analysis, and a myriad other software engineering tasks. In this talk, Professor Cleland-Huang first discusses the diverse queries that project stakeholders need and want to ask. She then presents process-driven, dynamic traceability solutions for establishing meaningful associations between artifacts. These traceability solutions are designed, wherever possible to establish traceability as a byproduct of the development process, and where not possible, to leverage just-in-time information retrieval solutions. Professor Cleland-Huang then shows how the traceability infrastructure supports powerful query mechanisms which are capable of retrieving and processing raw data in order to deliver real project intelligence. In particular, she will present TiQi: A Natural Language Interface for querying software projects and provide examples of diverse analytic queries. Given the benefits of such query mechanisms and the irreplaceable role of Traceability in achieving them leads to the bold claim that Traceability has become the New Black!

Probabilistic Programming: Algorithms, Applications and Synthesis
September 30, 2015 at 12:00 PM Eastern Daylight Time

Registration and more information

Speaker: Aditya Nori, Senior Researcher, Microsoft Research India

Abstract:
Recent years have seen a huge shift in the kind of programs that most programmers write. Programs are increasingly data driven instead of being algorithm driven. They use various forms of machine learning techniques to build models from data, for the purpose of decision making. Indeed, search engines, social networks, speech recognition, computer vision, and applications that use data from clinical trials, biological experiments, and sensors, are all examples of data driven programs. We use the term "probabilistic programs" to refer to data driven programs that are written using higher-level abstractions. Though they span various application domains, all data driven programs have to deal with uncertainty in the data, and face similar issues in design, debugging, optimization and deployment. In this talk, we describe connections this research area called "Probabilistic Programming" has with programming languages and software engineering — this includes language design, static and dynamic analysis of programs, and program synthesis. We survey current state of the art and speculate on promising directions for future research.

Teaching Future Software Developers
September 16, 2015 at 12:00 PM Eastern Daylight Time

Registration and more information

Speaker: Václav Rajlich, Wayne State University

Abstract:
Both employers and graduate schools expect computer science graduates to be able to work on software projects as developers, yet many computer science programs fail in that fundamental goal. This webcast describes how the first software engineering course (1SEC) can be reorganized in order to meet these expectations. The webcast first presents seven common dead-end approaches to 1SEC (“deadly sins”). We avoided the deadly sins by teaching the evolutionary software development (ESD) which is the current software development mainstream; agile, iterative, and open source processes are variants of ESD. The fundamental task of ESD is software change that adds new feature to an existing program. We teach phased model of software change that divides software change into phases and helps novices to add new features to complex unfamiliar programs. Our 1SEC projects use open-source programs and students add new features to these programs; this gives them experience with projects of realistic size and complexity, without requiring extraordinary effort to reach that size. The webcast presents our experience with this approach. The webcast also proposes follow-up courses that would teach additional skills the future developers may need.

Engineering Smart Cyber Physical Systems
September 8, 2015 at 12:00 PM Eastern Daylight Time

Registration and more information

Speakers: Danny Weyns, Linnaeus University, and Tomas Bures, Charles University

Abstract:
Cyber-Physical Systems (CPS) are large-scale networked distributed systems that combine various data sources to control real-world ecosystems (e.g. intelligent traffic control). One of the trends is to endow such systems with "smart" capabilities, typically in the form of self-awareness and self-adaptation, along with the traditional qualities of safety and dependability. The combination of these requirements together with specifics of smart CPS render traditional software engineering (SE) techniques not directly applicable, making systematic SE of smart CPS a challenging task. In this webinar, we report on the results of the First International Workshop on Software Engineering of Smart Cyber-Physical Systems (SEsCPS 2015), where 25 participants discussed characteristics, challenges and opportunities of SE for smart CPS. In the first part we discuss "Core Themes" that we derived from the contributions presented in the morning session of the workshop. Themes include: Faults and conflicts; Modeling, testing, and verification; and Collaboration. In the second part of the webinar, we elaborate on "Open Research Topics" that we derived from the results of the workshop’s afternoon breakout sessions. Topics include: Aligning different disciplines; Human in the loop; Uncertainty; and Pragmatic vs. systematic engineering.

Traceability Beyond Source Code: An Elusive Target?
July 31, 2015 at 12:00 PM Eastern Daylight Time

Registration and more information

Speaker: Lionel C. Briand, University of Luxembourg

Abstract:
This talk will report on more than a decade of experience regarding system traceability and its applications. Various forms of traceability between requirements, design decisions, and test cases are required by numerous industry standards. Traceability research is the focus of limited attention but is nevertheless an extremely important topic. I will present an overview of the field and its challenges based on project experience with industry. Going through three recent projects, I will illustrate my main points and reflections on the subject. The focus of this presentation will be on traceability between requirements, design decisions, and test cases, as traceability research has been largely code-centric to date.

Are You Getting Traction? Tales from the Tech Transfer Trenches
June 25, 2015 at 12:00 PM Eastern Daylight Time

Registration and more information

Speaker: Satish Chandra, Senior Principal Engineer, Samsung Electronics

Abstract:
So you have developed a new software productivity tool, published a research paper about it, and you are justifiably proud of your work. If you work for a company, your (curmudgeonly) manager now wants to see its "impact" on the business. This is the part where you have to convince someone else to use your shiny new tool in their day-to-day work, or ship it as a product. But, you soon realize that getting traction with developers or product managers is significantly harder than the research itself. Sound familiar?

In the past several years, Satish was involved in taking a variety of software productivity tools to various constituencies within a company: internal users, product teams, and service delivery teams. In this talk, he would like to share the experiences he had in interacting with these constituencies; sometimes successful experiences, but at other times not so successful ones. The webinar will focus broadly on tools in two areas: bug finding and test automation. Satish will make some observations on when tech transfer works and when it stumbles.

End-User Software Engineering: Beyond the Silos
June 18, 2015 at 01:00 PM Eastern Daylight Time

Registration and more information

Speaker: Margaret Burnett, Oregon State University

Abstract:
End-user programming has become pervasive in our society, with end users programming simulations, courseware, spreadsheets, macros, mashups, and more. This talk considers what happens when we add consideration of the software lifecycle beyond the "coding” phase of end-user programming. Considering other phases is necessary, because there is ample evidence that the programs end users create are filled with errors. End-user software engineering (EUSE) is a research area that aims to invent new kinds of technologies that collaborate with end users to improve the quality of their software.

In this webinar, we describe the present state of EUSE, and challenges in moving forward toward a bright future. We show how the future of EUSE may become over-siloed, restricting future researchers’ vision of what can be achieved. We then show that focusing on the in-the-moment intents of end-user developers can be used to derive a number of promising directions forward for EUSE researchers, and how theories can help us further de-silo future EUSE research. Finally, we discuss how overcoming challenges for the future of end-user software engineering may also bring direct benefits to the future of “classic” software engineering.

ACM SIGSOFT Town Hall Webinar
June 08, 2015 at 03:00 PM Eastern Daylight Time

Registration and more information

Speaker: Will Tracz, ACM SIGSOFT Chair

Abstract:
This webinar provides attendees with the who, what, and what next, where of ACM Special Interest Group on Software Engineering. Attendees will be informed of changes in membership benefits, volunteer opportunities, and recent changes in ACM publication policies regarding open source access to conference proceedings. The initial presentation is scheduled for no more than 30 minutes with the remaining half hour reserved for answering questions.

Agile and Evolutionary Software Development
June 02, 2015 at 12:00 PM Eastern Daylight Time

Registration and more information

Speaker: Václav Rajlich, Wayne State University

Abstract:
Successful software requires constant change that is triggered by volatility of requirements, technologies, and stakeholder knowledge. This constant change constitutes software evolution. There is also the new prominence of evolutionary software development that includes agile, iterative, open source, inner source, and other processes; the bulk of software development now happens in the stage of software evolution. This webcast discusses reasons for this shift and new issues that emerged. It also discusses the process of software change, which is the fundamental software evolution task. It briefly contrasts software evolution and software maintenance. It presents both the current state of the art and the perspectives of future advances.