


default search action
20th ESEC / 29th SIGSOFT FSE 2021: Athens, Greece
- Diomidis Spinellis, Georgios Gousios, Marsha Chechik, Massimiliano Di Penta:
ESEC/FSE '21: 29th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, Athens, Greece, August 23-28, 2021. ACM 2021, ISBN 978-1-4503-8562-6
Invited Presentations
- Mira Mezini
:
Programming and execution models for next generation code intelligence systems (keynote). 1-2 - Nachiappan Nagappan:
The 4ps: product, process, people, and productivity: a data-driven approach to improve software engineering (keynote). 3 - Gerard J. Holzmann:
Interactive analysis of large code bases (invited talk). 4 - Han Schaminée:
Managers hate uncertainty: good and bad experiences with adaptive project management (invited talk). 5 - John Micco:
Industrial best practices for continuous integration (CI) and continuously delivery (CD) (invited talk). 6 - Wilson Wang:
Huawei's practices on trusted software engineering capability improvement (invited talk). 7
Cyber-Physical Systems
- Michael Vierhauser
, Md Nafee Al Islam, Ankit Agrawal
, Jane Cleland-Huang, James Mason:
Hazard analysis for human-on-the-loop interactions in sUAS systems. 8-19 - Dinghua Wang
, Shuqing Li
, Guanping Xiao
, Yepang Liu
, Yulei Sui
:
An exploratory study of autopilot software bugs in unmanned aerial vehicles. 20-31 - Yuqi Chen, Christopher M. Poskitt
, Jun Sun
:
Code integrity attestation for PLCs using black box neural network predictions. 32-44 - Sayali Kate, Michael Chinn, Hongjun Choi, Xiangyu Zhang, Sebastian G. Elbaum:
PHYSFRAME: type checking physical frames of reference for robotic systems. 45-56
Continuous Integration and Delivery
- Daniel Sokolowski
, Pascal Weisenburger
, Guido Salvaneschi
:
Automating serverless deployments for DevOps organizations. 57-69
Mobile Analysis and Testing
- Sydur Rahaman, Iulian Neamtiu, Xin Yin:
Algebraic-datatype taint tracking, with applications to understanding Android identifier leaks. 70-82 - Wenyu Wang
, Wei Yang
, Tianyin Xu
, Tao Xie
:
Vet: identifying and avoiding UI exploration tarpits. 83-94 - Zhen Zhang, Yu Feng
, Michael D. Ernst, Sebastian Porst, Isil Dillig:
Checking conformance of applications against GUI policies. 95-106
Mobile Human-Computer Interaction
- Forough Mehralian
, Navid Salehnamadi
, Sam Malek:
Data-driven accessibility repair revisited: on the effectiveness of generating labels for icons in Android apps. 107-118 - Ting Su
, Jue Wang
, Zhendong Su:
Benchmarking automated GUI testing for Android against real-world bugs. 119-130
Model Checking
- Minjian Zhang
, Umang Mathur
, Mahesh Viswanathan:
Checking LTL[F, G, X] on compressed traces in polynomial time. 131-143 - Jie Su
, Cong Tian, Zhenhua Duan:
Conditional interpolation: making concurrent program verification more effective. 144-154
Model-Driven Software Engineering
- Changjian Zhang
, Ryan Wagner, Pedro Orvalho
, David Garlan, Vasco Manquinho
, Ruben Martins, Eunsuk Kang:
AlloyMax: bringing maximum satisfaction to relational specifications. 155-167 - Yanxiang Tong, Yi Qin, Yanyan Jiang, Chang Xu, Chun Cao, Xiaoxing Ma:
Timely and accurate detection of model deviation in self-adaptive software-intensive systems. 168-180
Dependability
- Martin Kellogg
, Narges Shadab, Manu Sridharan
, Michael D. Ernst:
Lightweight and modular resource leak verification. 181-192 - Mingxue Zhang, Wei Meng
:
JSISOLATE: lightweight in-browser JavaScript isolation. 193-204
Code Recommendation
- George Mathew
, Kathryn T. Stolee
:
Cross-language code search using static and dynamic analyses. 205-217 - Zhipeng Gao
, Xin Xia, David Lo
, John C. Grundy
, Thomas Zimmermann:
Automating the removal of obsolete TODO comments. 218-229
Fuzzing
- Marcel Böhme
, Danushka Liyanage
, Valentin Wüstholz:
Estimating residual risk in greybox fuzzing. 230-241 - Qian Zhang, Jiyuan Wang, Miryung Kim:
HeteroFuzz: fuzz testing to detect platform dependent divergence for heterogeneous applications. 242-254
Defect Prediction and Effort Estimation
- Yan Cai, Hao Yun, Jinqiu Wang, Lei Qiao, Jens Palsberg:
Sound and efficient concurrency bug prediction. 255-267
Vulnerabilities
- Song Li
, Mingqing Kang, Jianwei Hou, Yinzhi Cao:
Detecting Node.js prototype pollution vulnerabilities via object lookup analysis. 268-279 - Kunpeng Yu, Chenxu Wang, Yan Cai, Xiapu Luo, Zijiang Yang:
Detecting concurrency vulnerabilities based on partial orders of memory and thread events. 280-291 - Yi Li, Shaohua Wang, Tien N. Nguyen:
Vulnerability detection with fine-grained interpretations. 292-303 - Adriana Sejfia, Yixue Zhao
, Nenad Medvidovic
:
Identifying casualty changes in software patches. 304-315 - Yang Hu, Wenxi Wang, Casen Hunger, Riley Wood, Sarfraz Khurshid, Mohit Tiwari
:
ACHyb: a hybrid analysis approach to detect kernel access control vulnerabilities. 316-327
Program Repair
- Dowon Song, Woosuk Lee, Hakjoo Oh:
Context-aware and data-driven feedback generation for programming assignments. 328-340 - Qihao Zhu, Zeyu Sun, Yuan-an Xiao, Wenjie Zhang, Kang Yuan, Yingfei Xiong, Lu Zhang:
A syntax-guided edit decoder for neural program repair. 341-353 - Chu-Pan Wong, Priscila Santiesteban, Christian Kästner, Claire Le Goues
:
VarFix: balancing edit expressiveness and search effectiveness in automated program repair. 354-366
Flaky Tests
- Zhen Dong, Abhishek Tiwari
, Xiao Liang Yu, Abhik Roychoudhury
:
Flaky test detection in Android via event order exploration. 367-378
Collaborative Software Engineering
- Bo Shen
, Wei Zhang, Christian Kästner, Haiyan Zhao, Zhao Wei, Guangtai Liang, Zhi Jin
:
SmartCommit: a graph-based interactive assistant for activity-oriented commits. 379-390 - Lin Shi
, Xiao Chen, Ye Yang, Hanzhi Jiang, Ziyou Jiang
, Nan Niu
, Qing Wang:
A first look at developers' live chat on Gitter. 391-403 - Souti Chattopadhyay
, Thomas Zimmermann, Denae Ford:
Reel life vs. real life: how software developers share their daily life through vlogs. 404-415
Cloud Computing
- Jinfeng Wen
, Zhenpeng Chen
, Yi Liu, Yiling Lou, Yun Ma, Gang Huang, Xin Jin, Xuanzhe Liu:
An empirical study on challenges of application development in serverless computing. 416-428
Search Based Software Engineering
- Joymallya Chakraborty, Suvodeep Majumder, Tim Menzies
:
Bias in machine learning software: why? how? what to do? 429-440 - Md. Rafiqul Islam Rabin
, Vincent J. Hellendoorn, Mohammad Amin Alipour
:
Understanding neural code intelligence through program simplification. 441-452 - Tao Chen
, Miqing Li
:
Multi-objectivizing software configuration tuning. 453-465
Libraries and APIs
- Bo Li, Qiang He, Feifei Chen, Xin Xia, Li Li, John C. Grundy
, Yun Yang:
Embedding app-library graph for neural third party library recommendation. 466-477 - Hao He
, Runzhi He, Haiqiao Gu, Minghui Zhou:
A large-scale empirical study on Java library migrations: prevalence, trends, and rationales. 478-490 - Mingwei Liu
, Xin Peng, Andrian Marcus, Christoph Treude
, Xuefang Bai, Gang Lyu, Jiazhan Xie, Xiaoxin Zhang:
Learning-based extraction of first-order logic representations of API directives. 491-502
Development Tools
- Xiuheng Wu, Chenguang Zhu, Yi Li
:
DIFFBASE: a differential factbase for effective software evolution management. 503-515 - Zehao Wang, Haoxiang Zhang, Tse-Hsun (Peter) Chen
, Shaowei Wang:
Would you like a quick peek? providing logging support to monitor data processing in big data applications. 516-526
Code Review and Changes
- Nengwen Zhao, Junjie Chen
, Zhaoyang Yu, Honglin Wang, Jiesong Li, Bin Qiu, Hongyu Xu, Wenchi Zhang, Kaixin Sui, Dan Pei:
Identifying bad software changes via multimodal anomaly detection for online service systems. 527-539
Refactoring
- Xiao Wang, Lu Xiao, Tingting Yu, Anne Woepse, Sunny Wong:
An automatic refactoring framework for replacing test-production inheritance by mocking mechanism. 540-552
Blockchain
- Wuqi Zhang
, Lili Wei
, Shuqing Li
, Yepang Liu
, Shing-Chi Cheung
:
ÐArcher: detecting on-chain-off-chain synchronization bugs in decentralized applications. 553-565 - Yibo Wang, Qi Zhang
, Kai Li
, Yuzhe Tang
, Jiaqi Chen, Xiapu Luo, Ting Chen:
iBatch: saving Ethereum fees via secure and cost-effective batching of smart-contract invocations. 566-577
Recommender Systems
- Yanjie Jiang, Hui Liu
, Yuxia Zhang, Nan Niu, Yuhai Zhao, Lu Zhang:
Which abbreviations should be expanded? 578-589
Testing of Machine Learning Models
- Songqiang Chen
, Shuo Jin, Xiaoyuan Xie
:
Validation on machine reading comprehension software without annotated labels: a property-based method. 590-602 - Saikat Dutta, August Shi, Sasa Misailovic:
FLEX: fixing flaky tests in machine learning projects by updating assertion bounds. 603-614
Analysis and Testing of Unconventional Software
- Sangeeta Chowdhary, Santosh Nagarakatte
:
Parallel shadow execution to accelerate the debugging of numerical errors. 615-626 - Ming Yan
, Junjie Chen
, Xiangyu Zhang, Lin Tan, Gan Wang, Zan Wang:
Exposing numerical bugs in deep learning via gradient back-propagation. 627-638 - Muhammad Numair Mansur, Maria Christakis, Valentin Wüstholz:
Metamorphic testing of Datalog engines. 639-650
Human Computer Interaction
- Dylan Lukes
, John Sarracino, Cora Coleman, Hila Peleg, Sorin Lerner, Nadia Polikarpova
:
Synthesis of web layouts from examples. 651-663
Machine Learning for Software Engineering
- Yiling Lou, Qihao Zhu, Jinhao Dong, Xia Li, Zeyu Sun, Dan Hao
, Lu Zhang, Lingming Zhang
:
Boosting coverage-based fault localization via graph-based representation learning. 664-676 - Bo Wang
, Teodora Baluta
, Aashish Kolluri, Prateek Saxena:
SynGuar: guaranteeing generalization in programming by example. 677-689 - Kexin Pei, Jonas Guan, Matthew Broughton, Zhongtian Chen, Songchen Yao, David Williams-King, Vikas Ummadisetty, Junfeng Yang, Baishakhi Ray, Suman Jana:
StateFormer: fine-grained type recovery from binaries using generative state modeling. 690-702 - Nadezhda Chirkova
, Sergey Troshin
:
Empirical study of transformers for source code. 703-715 - Jürgen Cito, Isil Dillig, Seohyun Kim, Vijayaraghavan Murali, Satish Chandra:
Explaining mispredictions of machine learning models using rule induction. 716-727 - Yi Ding
, Ahsan Pervaiz
, Michael Carbin
, Henry Hoffmann
:
Generalizable and interpretable learning for configuration extrapolation. 728-740
Program Comprehension
- Shangwen Wang
, Ming Wen
, Bo Lin
, Xiaoguang Mao:
Lightweight global and local contexts guided method name recommendation with prior knowledge. 741-753 - Madeline Endres
, Madison Fansher, Priti Shah, Westley Weimer:
To read or to rotate? comparing the effects of technical reading training and spatial skills training on novice programming ability. 754-766 - Zachary Karas, Andrew Jahn, Westley Weimer, Yu Huang:
Connecting the dots: rethinking the relationship between code and prose writing with functional connectivity. 767-779
Software Security
- Duc-Ly Vu
, Fabio Massacci, Ivan Pashchenko
, Henrik Plate, Antonino Sabetta:
LastPyMile: identifying the discrepancy between sources and packages. 780-792 - Nesara Dissanayake
, Mansooreh Zahedi
, Asangi Jayatilaka
, Muhammad Ali Babar
:
A grounded theory of the role of coordination in software security patch management. 793-805 - Chengxu Yang, Yuanchun Li, Mengwei Xu, Zhenpeng Chen
, Yunxin Liu, Gang Huang, Xuanzhe Liu:
TaintStream: fine-grained taint tracking for big data platforms through dynamic code translation. 806-817
Debugging
- Yida Tao
, Zhihui Chen, Yepang Liu
, Jifeng Xuan, Zhiwu Xu, Shengchao Qin:
Demystifying "bad" error messages in data science libraries. 818-829 - Tasuku Nakagawa, Yoshiki Higo
, Shinji Kusumoto:
NIL: large-scale detection of large-variance clones. 830-841 - Zhengyi Qiu, Shudi Shao, Qi Zhao, Guoliang Jin:
Understanding and detecting server-side request races in web applications. 842-854 - Paul T. Chiou
, Ali S. Alotaibi
, William G. J. Halfond
:
Detecting and localizing keyboard accessibility failures in web applications. 855-867 - Chijung Jung
, Ali Ahad, Jinho Jung, Sebastian G. Elbaum, Yonghwi Kwon
:
Swarmbug: debugging configuration bugs in swarm robotics. 868-880 - Guancheng Wang
, Ruobing Shen, Junjie Chen
, Yingfei Xiong, Lu Zhang:
Probabilistic Delta debugging. 881-892
Bug Characterization and Fixing
- Jeho Oh, Necip Fazil Yildiran, Julian Braha
, Paul Gazzillo
:
Finding broken Linux configuration specifications by statically analyzing the Kconfig language. 893-905 - Jibesh Patra
, Michael Pradel
:
Semantic bug seeding: a learning-based approach for creating realistic bugs. 906-918
Mining Software Repositories
- Jiakun Liu
, Sebastian Baltes, Christoph Treude
, David Lo
, Yun Zhang, Xin Xia:
Characterizing search activities on stack overflow. 919-931 - Egor Bogomolov
, Vladimir Kovalenko
, Yurii Rebryk, Alberto Bacchelli
, Timofey Bryksin
:
Authorship attribution of source code: a language-agnostic approach and applicability in software engineering. 932-944
Software Engineering for Machine Learning
- Sahil Suneja, Yunhui Zheng, Yufan Zhuang, Jim Alain Laredo, Alessandro Morari:
Probing model signal-awareness via prediction-preserving input minimization. 945-955 - Shu Lin, Na Meng, Wenxin Li:
Generating efficient solvers from constraint models. 956-967 - Qingchao Shen
, Haoyang Ma
, Junjie Chen
, Yongqiang Tian
, Shing-Chi Cheung
, Xiang Chen
:
A comprehensive study of deep learning compiler bugs. 968-980 - Sumon Biswas
, Hridesh Rajan:
Fair preprocessing: towards understanding compositional fairness of data transformers in machine learning pipeline. 981-993 - Max Hort
, Jie M. Zhang
, Federica Sarro
, Mark Harman
:
Fairea: a model behaviour mutation approach to benchmarking bias mitigation methods. 994-1006
Software Evolution
- Paul Maximilian Bittner
, Alexander Schultheiß
, Thomas Thüm
, Timo Kehrer
, Jeffrey M. Young, Lukas Linsbauer:
Feature trace recording. 1007-1020 - César Soto-Valero
, Thomas Durieux
, Benoit Baudry
:
A longitudinal analysis of bloated Java dependencies. 1021-1031
Software Practices
- Nicholas Maltbie, Nan Niu
, Matthew Van Doren, Reese Johnson:
XAI tools in the public sector: a case study on predicting combined sewer overflows. 1032-1044 - Dong Jae Kim, Bo Yang
, Jinqiu Yang, Tse-Hsun (Peter) Chen
:
How disabled tests manifest in test maintainability challenges? 1045-1055
Software Processes
- Likang Yin, Zhuangzhi Chen, Qi Xuan, Vladimir Filkov:
Sustainability forecasting for Apache incubator projects. 1056-1067
Test Generation
- Yun Lin
, You Sheng Ong, Jun Sun
, Gordon Fraser, Jin Song Dong:
Graph-based seed object synthesis for search-based unit testing. 1068-1080 - Chuan Luo
, Binqi Sun
, Bo Qiao
, Junjie Chen
, Hongyu Zhang
, Jinkun Lin
, Qingwei Lin
, Dongmei Zhang
:
LS-sampling: an effective local search based sampling approach for achieving high t-wise coverage. 1081-1092 - Ke Chen
, Yufei Li
, Yingfeng Chen, Changjie Fan, Zhipeng Hu, Wei Yang
:
GLIB: towards automated test oracle for graphically-rich applications. 1093-1104
Metrics
- Devjeet Roy, Sarah Fakhoury, Venera Arnaoudova:
Reassessing automatic evaluation metrics for code summarization tasks. 1105-1116
Programming Languages
- Jialiang Tan, Yu Chen, Zhenming Liu, Bin Ren, Shuaiwen Leon Song, Xipeng Shen
, Xu Liu:
Toward efficient interactions between Python and native libraries. 1117-1128 - Joonyoung Park
, Jihyeok Park
, Dongjun Youn
, Sukyoung Ryu
:
Accelerating JavaScript static analysis via dynamic shortcuts. 1129-1140
Approximations in Program Analysis and Testing
- Peisen Yao
, Heqing Huang
, Wensheng Tang, Qingkai Shi
, Rongxin Wu
, Charles Zhang:
Skeletal approximation enumeration for SMT solver testing. 1141-1153 - Tianyi Chen, Kihong Heo, Mukund Raghothaman:
Boosting static analysis accuracy with instrumented test executions. 1154-1165 - Yicheng Luo
, Antonio Filieri
, Yuan Zhou
:
Symbolic parallel adaptive importance sampling for probabilistic program analysis. 1166-1177
Static Analysis and Symbolic Execution
- Linghui Luo
, Martin Schäf
, Daniel Sanchez, Eric Bodden:
IDE support for cloud-based static analyses. 1178-1189 - David Trabish, Shachar Itzhaky, Noam Rinetzky:
A bounded symbolic-size model for symbolic execution. 1190-1201
Dynamic Analysis
- Nikos Vasilakis, Grigoris Ntousakis
, Veit Heller, Martin C. Rinard:
Efficient module-level dynamic analysis for dynamic languages with module recontextualization. 1202-1213
Industry Papers
- Anup K. Kalia, Jin Xiao, Rahul Krishna, Saurabh Sinha, Maja Vukovic, Debasish Banerjee:
Mono2Micro: a practical and effective tool for decomposing monolithic Java applications to microservices. 1214-1224 - Sonu Mehta, Farima Farmahinifarahani, Ranjita Bhagwan, Suraj Guptha, Sina Jafari, Rahul Kumar, Vaibhav Saini, Anirudh Santhiar:
Data-driven test selection at scale. 1225-1235 - Hang Dong
, Si Qin, Yong Xu, Bo Qiao
, Shandan Zhou, Xian Yang
, Chuan Luo
, Pu Zhao
, Qingwei Lin
, Hongyu Zhang
, Abulikemu Abuduweili
, Sanjay Ramanujan, Karthikeyan Subramanian, Andrew Zhou
, Saravanakumar Rajmohan, Dongmei Zhang
, Thomas Moscibroda:
Effective low capacity status prediction for cloud systems. 1236-1241 - Adam Welc:
Automated code transformation for context propagation in Go. 1242-1252 - Xu Zhang, Yong Xu, Si Qin, Shilin He, Bo Qiao
, Ze Li, Hongyu Zhang
, Xukun Li, Yingnong Dang, Qingwei Lin
, Murali Chintalapati, Saravanakumar Rajmohan, Dongmei Zhang
:
Onion: identifying incident-indicating logs for cloud systems. 1253-1263 - Jon Ayerdi, Valerio Terragni
, Aitor Arrieta, Paolo Tonella
, Goiuria Sagardui, Maite Arratibel:
Generating metamorphic relations for cyber-physical systems with genetic programming: an industrial case study. 1264-1274 - Vivek Joshi, Preethu Rose Anish, Smita Ghaisas:
Domain adaptation for an automated classification of deontic modalities in software engineering contracts. 1275-1280 - Roman Haas, Daniel Elsner, Elmar Jürgens, Alexander Pretschner, Sven Apel
:
How can manual testing processes be optimized? developer survey, optimization guidelines, and case studies. 1281-1291 - Martin P. Robillard
:
Turnover-induced knowledge loss in practice. 1292-1302 - Yaroslav Golubev
, Zarina Kurbatova, Eman Abdullah AlOmar, Timofey Bryksin
, Mohamed Wiem Mkaouer
:
One thousand and one stories: a large-scale survey of software refactoring. 1303-1313 - Yixuan Ma, Shuang Liu, Jiajun Jiang, Guanhong Chen, Keqiu Li:
A comprehensive study on learning-based PE malware family classification methods. 1314-1325 - Charles Weir
, Sammy Migues, Mike Ware, Laurie A. Williams:
Infiltrating security into development: exploring the world's largest software security study. 1326-1336