skip to main content
10.1145/3377813acmconferencesBook PagePublication PagesicseConference Proceedingsconference-collections
ICSE-SEIP '20: Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering: Software Engineering in Practice
ACM2020 Proceeding
Publisher:
  • Association for Computing Machinery
  • New York
  • NY
  • United States
Conference:
ICSE '20: 42nd International Conference on Software Engineering Seoul South Korea 27 June 2020- 19 July 2020
ISBN:
978-1-4503-7123-0
Published:
18 September 2020
Sponsors:
In-Cooperation:
KIISE, IEEE CS
Next Conference
Bibliometrics
Skip Abstract Section
Abstract

On behalf of the ICSE 2020 Organizing Committee, we are delighted to present these Proceedings of the 42nd ACM/IEEE International Conference on Software Engineering. ICSE continues to be the premier software-engineering conference, where researchers, practitioners, and educators come together to present, discuss, and debate the most recent research results, innovations, trends, and concerns in the field of software engineering.

Skip Table Of Content Section
SESSION: Empirical studies and requirements
research-article
Using a context-aware approach to recommend code reviewers: findings from an industrial case study

Code review is a commonly used practice in software development. It refers to the process of reviewing new code changes before they are merged with the code base. However, to perform the review, developers are mostly assigned manually to code changes. ...

SESSION: Testing and debugging 1
Code-level model checking in the software development workflow

This experience report describes a style of applying symbolic model checking developed over the course of four years at Amazon Web Services (AWS). Lessons learned are drawn from proving properties of numerous C-based systems, e.g., custom hypervisors, ...

SESSION: Cyber-physical systems
research-article
The forgotten case of the dependency bugs: on the example of the robot operating system

A dependency bug is a software fault that manifests itself when accessing an unavailable asset. Dependency bugs are pervasive and we all hate them. This paper presents a case study of dependency bugs in the Robot Operating System (ROS), applying mixed ...

How do you architect your robots?: state of the practice and guidelines for ROS-based systems

The Robot Operating System (ROS) is the de-facto standard for robotic software. If on one hand ROS is helping roboticists, e.g., by providing a standardized communication platform, on the other hand ROS-based systems are getting larger and more complex ...

SESSION: Bugs and repair
research-article
Precfix: large-scale patch recommendation by mining defect-patch pairs

Patch recommendation is the process of identifying errors in software systems and suggesting suitable fixes for them. Patch recommendation can significantly improve developer productivity by reducing both the debugging and repairing time. Existing ...

research-article
Automated bug reproduction from user reviews for Android applications

Bug-related user reviews of mobile applications have negative influence on their reputation and competence, and thus these reviews are highly regarded by developers. Before bug fixing, developers need to manually reproduce the bugs reported in user ...

SESSION: Testing and debugging 2
research-article
Debugging crashes using continuous contrast set mining

Facebook operates a family of services used by over two billion people daily on a huge variety of mobile devices. Many devices are configured to upload crash reports should the app crash for any reason. Engineers monitor and triage millions of crash ...

research-article
Automatic abnormal log detection by analyzing log history for providing debugging insight

As the size of software becomes larger and more complex, finding the cause of defects becomes increasingly difficult. Moreover, it is hard to reproduce defects when many components such as processes in platform environment or devices in IoT environment ...

SESSION: Traceability
research-article
Lack of adoption of units of measurement libraries: survey and anecdotes

Units of measurement (UoM) libraries are mostly used to appropriately encode unit variables and convert between them in a type-safe manner. Approximately 3700 functioning unit measurement libraries exist on the web, indicating that the wheel is being ...

SESSION: Security
research-article
Automated identification of libraries from vulnerability data

Software Composition Analysis (SCA) has gained traction in recent years with a number of commercial offerings from various companies. SCA involves vulnerability curation process where a group of security researchers, using various data sources, populate ...

research-article
Building and maintaining a third-party library supply chain for productive and secure SGX enclave development

The big data industry is facing new challenges as concerns about privacy leakage soar. One of the remedies to privacy breach incidents is to encapsulate computations over sensitive data within hardware-assisted Trusted Execution Environments (TEE). Such ...

SESSION: Testing
research-article
Modeling and ranking flaky tests at Apple

Test flakiness---inability to reliably repeat a test's Pass/Fail outcome---continues to be a significant problem in Industry, adversely impacting continuous integration and test pipelines. Completely eliminating flaky tests is not a realistic option as ...

SESSION: Testing and debugging 1
research-article
Property-based testing for LG home appliances using accelerated software-in-the-loop simulation

As LG home appliances promise more convenience features to end-users, the complexity of their control software is also increasing, creating a higher pressure for software verification. However, since the embedded software is tightly coupled with its ...

SESSION: Ecosystems 1
invited-talk
Sharing at scale: an open-source-software-based license compliance ecosystem

The amount of open-source-software (OSS) used in the global software engineering community is already enormous and still growing. This includes both the products we develop and the development tools we use to create them. It is meanwhile rare to find ...

SESSION: Contracts and analysis
research-article
How to reduce risk effectively in fixed price software development

In this paper we consider 20 years of software development at a medium-sized European software company (called adesso). We identify changes and trends in software project management and we name typical risks inherent to fixed price projects (beyond the ...

research-article
Escape from escape analysis of Golang

Escape analysis is widely used to determine the scope of variables, and is an effective way to optimize memory usage. However, the escape analysis algorithm can hardly reach 100% accurate, mistakes of which can lead to a waste of heap memory. It is ...

SESSION: Code generation and verification
research-article
Rule-based code generation in industrial automation: four large-scale case studies applying the CAYENNE method

Software development for industrial automation applications is a growing market with high economic impact. Control engineers design and implement software for such systems using standardized programming languages (IEC 61131-3) and still require ...

research-article
Understanding and handling alert storm for online service systems

Alert is a kind of key data source in monitoring system for online service systems, which is used to record the anomalies in service components and report to engineers. In general, the occurrence of a service failure tends to be along with a large ...

SESSION: Version control and programming
research-article
Towards understanding and fixing upstream merge induced conflicts in divergent forks: an industrial case study

Divergent forks are a common practice in open-source software development to perform long-term, independent and diverging development on top of a popular source repository. However, keeping such divergent downstream forks in sync with the upstream ...

SESSION: Cognition
research-article
Assessing practitioner beliefs about software defect prediction

Just because software developers say they believe in "X", that does not necessarily mean that "X" is true. As shown here, there exist numerous beliefs listed in the recent Software Engineering literature which are only supported by small portions of the ...

SESSION: Applications
research-article
Engineering for a science-centric experimentation platform

Netflix is an internet entertainment service that routinely employs experimentation to guide strategy around product innovations. As Netflix grew, it had the opportunity to explore increasingly specialized improvements to its service, which generated ...

SESSION: Analysis and verification
research-article
DeCaf: diagnosing and triaging performance issues in large-scale cloud services

Large scale cloud services use Key Performance Indicators (KPIs) for tracking and monitoring performance. They usually have Service Level Objectives (SLOs) baked into the customer agreements which are tied to these KPIs. Dependency failures, code bugs, ...

SESSION: Android and web testing
research-article
JSidentify: a hybrid framework for detecting plagiarism among JavaScript code in online mini games

Online mini games are lightweight game apps, typically implemented in JavaScript (JS), that run inside another host mobile app (such as WeChat, Baidu, and Alipay). These mini games do not need to be downloaded or upgraded through an app store, making it ...

SESSION: Software architecture
research-article
Open Access
Piranha: reducing feature flag debt at uber

Feature flags are commonly used in mobile app development and can introduce technical debt related to deleting their usage from the codebase. This can adversely affect the overall reliability of the apps and increase their maintenance complexity. ...

invited-talk
Software development data for architecture analysis: expectations, reality, and future directions

Recently we have worked with a dozen industrial collaborators to pinpoint and quantify architecture debts, from multi-national corporations to startup companies. Our technology leverages a wide range of project data, from source file dependencies to ...

SESSION: Dependencies and configuration
research-article
Public Access
Exploring differences and commonalities between feature flags and configuration options

Feature flags for continuous deployment and configuration options for customizing software share many similarities, both conceptually and technically. However, neither academic nor practitioner publications seem to clearly compare these two concepts. We ...

Contributors
  • NC State University
  • Korea Advanced Institute of Science and Technology

Recommendations