FSE 2021
188 papers
- A bounded symbolic-size model for symbolic execution
- A comprehensive study of deep learning compiler bugs
- A comprehensive study on learning-based PE malware family classification methods
- A first look at developers' live chat on Gitter
- A general approach to modeling Java framework behaviors
- A grounded theory of the role of coordination in software security patch management
- A large-scale empirical study on Java library migrations: prevalence, trends, and rationales
- A live environment for inspection and refactoring of software systems
- A longitudinal analysis of bloated Java dependencies
- A qualitative study of cleaning in Jupyter notebooks
- A replication of 'DeepBugs: a learning approach to name-based bug detection'
- A syntax-guided edit decoder for neural program repair
- ACHyb: a hybrid analysis approach to detect kernel access control vulnerabilities
- AC²: towards understanding architectural changes in Python projects
- Accelerating JavaScript static analysis via dynamic shortcuts
- Accelerating redundancy-based program repair via code representation learning and adaptive patch filtering
- Algebraic-datatype taint tracking, with applications to understanding Android identifier leaks
- AlloyFL: a fault localization framework for Alloy
- AlloyMax: bringing maximum satisfaction to relational specifications
- An automatic refactoring framework for replacing test-production inheritance by mocking mechanism
- An empirical investigation of practical log anomaly detection for online service systems
- An empirical study of GUI widget detection for industrial mobile games
- An empirical study on challenges of application development in serverless computing
- An exploratory study of autopilot software bugs in unmanned aerial vehicles
- Analysis of specifications of multiparty sessions with dcj-lint
- Authorship attribution of source code: a language-agnostic approach and applicability in software engineering
- Automated code transformation for context propagation in Go
- Automated generation of realistic test inputs for web APIs
- Automating serverless deployments for DevOps organizations
- Automating the removal of obsolete TODO comments
- BF-detector: an automated tool for CI build failure detection
- BRAID: an API recommender supporting implicit user feedback
- Benchmarking automated GUI testing for Android against real-world bugs
- Bias in machine learning software: why? how? what to do?
- BiasRV: uncovering biased sentiment predictions at runtime
- Boosting coverage-based fault localization via graph-based representation learning
- Boosting static analysis accuracy with instrumented test executions
- Characterizing search activities on stack overflow
- Checking LTL[F, G, X] on compressed traces in polynomial time
- Checking conformance of applications against GUI policies
- Code integrity attestation for PLCs using black box neural network predictions
- Code2Que: a tool for improving question titles from mined code snippets in stack overflow
- Conditional interpolation: making concurrent program verification more effective
- Connecting the dots: rethinking the relationship between code and prose writing with functional connectivity
- Context-aware and data-driven feedback generation for programming assignments
- Contextualizing toxicity in open source: a qualitative study
- Cross-language code search using static and dynamic analyses
- CrossASR++: a modular differential testing framework for automatic speech recognition
- CrossVul: a cross-language vulnerability dataset with commit data
- DIFFBASE: a differential factbase for effective software evolution management
- Data-driven accessibility repair revisited: on the effectiveness of generating labels for icons in Android apps
- Data-driven extract method recommendations: a study at ING
- Data-driven test selection at scale
- Demystifying "bad" error messages in data science libraries
- Deployment coordination for cross-functional DevOps teams
- Detecting Node.js prototype pollution vulnerabilities via object lookup analysis
- Detecting and localizing keyboard accessibility failures in web applications
- Detecting concurrency vulnerabilities based on partial orders of memory and thread events
- Discovering repetitive code changes in ML systems
- Documenting evidence of a replication of 'analyze this! 145 questions for data scientists in software engineering'
- Documenting evidence of a replication of 'populating a release history database from version control and bug tracking systems'
- Documenting evidence of a reproduction of 'is there a "golden" feature set for static warning identification? - an experimental evaluation'
- Documenting evidence of a reuse of '"why should I trust you?": explaining the predictions of any classifier'
- Documenting evidence of a reuse of 'RefactoringMiner 2.0'
- Documenting evidence of a reuse of 'a systematic literature review of techniques and metrics to reduce the cost of mutation testing'
- Documenting evidence of a reuse of 'a systematic study of the class imbalance problem in convolutional neural networks'
- Documenting evidence of a reuse of 'on the number of linear regions of deep neural networks'
- Documenting evidence of a reuse of 'what is a feature? a qualitative study of features in industrial software product lines'
- Does reusing pre-trained NLP model propagate bugs?
- Domain adaptation for an automated classification of deontic modalities in software engineering contracts
- Duplicated code pattern mining in visual programming languages
- Effective low capacity status prediction for cloud systems
- Efficient module-level dynamic analysis for dynamic languages with module recontextualization
- Embedding app-library graph for neural third party library recommendation
- Empirical study of transformers for source code
- Estimating residual risk in greybox fuzzing
- Explaining mispredictions of machine learning models using rule induction
- Exploit those code reviews! bigger data for deeper learning
- Exposing numerical bugs in deep learning via gradient back-propagation
- FLEX: fixing flaky tests in machine learning projects by updating assertion bounds
- Fair preprocessing: towards understanding compositional fairness of data transformers in machine learning pipeline
- Fairea: a model behaviour mutation approach to benchmarking bias mitigation methods
- Feature trace recording
- Finding broken Linux configuration specifications by statically analyzing the Kconfig language
- Flaky test detection in Android via event order exploration
- Freeing hybrid distributed AI training configuration
- Frontmatter: mining Android user interfaces at scale
- FuzzBench: an open fuzzer benchmarking platform and service
- GLIB: towards automated test oracle for graphically-rich applications
- GenSys: a scalable fixed-point engine for maximal controller synthesis over infinite state spaces
- Generalizable and interpretable learning for configuration extrapolation
- Generating efficient solvers from constraint models
- Generating metamorphic relations for cyber-physical systems with genetic programming: an industrial case study
- Graph-based seed object synthesis for search-based unit testing
- Hazard analysis for human-on-the-loop interactions in sUAS systems
- Health of smart ecosystems
- HeteroFuzz: fuzz testing to detect platform dependent divergence for heterogeneous applications
- How can manual testing processes be optimized? developer survey, optimization guidelines, and case studies
- How disabled tests manifest in test maintainability challenges?
- Huawei's practices on trusted software engineering capability improvement (invited talk)
- ICME: an informed consent management engine for conformance in smart building environments
- IDE support for cloud-based static analyses
- Identifying bad software changes via multimodal anomaly detection for online service systems
- Identifying casualty changes in software patches
- Improving the effectiveness of peer code review in identifying security defects
- Industrial best practices for continuous integration (CI) and continuously delivery (CD) (invited talk)
- Infiltrating security into development: exploring the world's largest software security study
- Intelligent container reallocation at Microsoft 365
- Interactive analysis of large code bases (invited talk)
- Investigating documented information for accurate effort estimation in agile software development
- JSISOLATE: lightweight in-browser JavaScript isolation
- KGAMD: an API-misuse detector driven by fine-grained API-constraint knowledge graph
- LLSC: a parallel symbolic execution compiler for LLVM IR
- LS-sampling: an effective local search based sampling approach for achieving high t-wise coverage
- LastPyMile: identifying the discrepancy between sources and packages
- Learning type annotation: is big data enough?
- Learning-based extraction of first-order logic representations of API directives
- Lightweight and modular resource leak verification
- Lightweight global and local contexts guided method name recommendation with prior knowledge
- Lightweight verification via specialized typecheckers
- Making smart contract development more secure and easier
- Managers hate uncertainty: good and bad experiences with adaptive project management (invited talk)
- Metamorphic testing of Datalog engines
- Mitigating security attacks in kubernetes manifests for security best practices violation
- Mono2Micro: a practical and effective tool for decomposing monolithic Java applications to microservices
- Multi-location cryptographic code repair with neural-network-based methodologies
- Multi-objectivizing software configuration tuning
- NIL: large-scale detection of large-variance clones
- New visions on metamorphic testing after a quarter of a century of inception
- One thousand and one stories: a large-scale survey of software refactoring
- Onion: identifying incident-indicating logs for cloud systems
- Organizational implications of agile adoption: a case study from the public sector
- Overcoming metric diversity in meta-analysis for software engineering: proposed approach and a case study on its usage on the effects of software reuse
- OwlEyes-online: a fully automated platform for detecting and localizing UI display issues
- PHYSFRAME: type checking physical frames of reference for robotic systems
- Parallel shadow execution to accelerate the debugging of numerical errors
- PorkFuzz: testing stateful software-defined network applications with property graphs
- Probabilistic Delta debugging
- Probing model signal-awareness via prediction-preserving input minimization
- Programming and execution models for next generation code intelligence systems (keynote)
- Quantifying no-fault-found test failures to prioritize inspection of flaky tests at Ericsson
- RAPID: checking API usage for the cloud in the cloud
- Reassessing automatic evaluation metrics for code summarization tasks
- Reducing cost in continuous integration with a collection of build selection approaches
- Reducing the search space of bug inducing commits using failure coverage
- Reel life vs. real life: how software developers share their daily life through vlogs
- SMT solver testing with type and grammar based mutation
- Sangrahaka: a tool for annotating and querying knowledge graphs
- Security guarantees for automated software testing
- Selecting test inputs for DNNs using differential testing with subspecialized model instances
- Semantic bug seeding: a learning-based approach for creating realistic bugs
- Skeletal approximation enumeration for SMT solver testing
- Slicer4J: a dynamic slicer for Java
- SmartCommit: a graph-based interactive assistant for activity-oriented commits
- Software robustness: a survey, a theory, and prospects
- Sound and efficient concurrency bug prediction
- StackEmo: towards enhancing user experience by augmenting stack overflow with emojis
- StateFormer: fine-grained type recovery from binaries using generative state modeling
- Sustainability forecasting for Apache incubator projects
- Swarmbug: debugging configuration bugs in swarm robotics
- Symbolic parallel adaptive importance sampling for probabilistic program analysis
- SynGuar: guaranteeing generalization in programming by example
- Synthesis of web layouts from examples
- TaintStream: fine-grained taint tracking for big data platforms through dynamic code translation
- Term interrelations and trends in software engineering
- The 4ps: product, process, people, and productivity: a data-driven approach to improve software engineering (keynote)
- The gas triangle and its challenges to the development of blockchain-powered applications
- Timely and accurate detection of model deviation in self-adaptive software-intensive systems
- To read or to rotate? comparing the effects of technical reading training and spatial skills training on novice programming ability
- Toward efficient interactions between Python and native libraries
- Towards an approach for resource-driven adaptation
- Towards automating code review at scale
- Towards immersive software archaeology: regaining legacy systems' design knowledge via interactive exploration in virtual reality
- Turnover-induced knowledge loss in practice
- Understanding and detecting server-side request races in web applications
- Understanding neural code intelligence through program simplification
- Unveiling multiple facets of design degradation in modern code review
- Validation on machine reading comprehension software without annotated labels: a property-based method
- VarFix: balancing edit expressiveness and search effectiveness in automated program repair
- Vet: identifying and avoiding UI exploration tarpits
- Vulnerability detection with fine-grained interpretations
- When life gives you oranges: detecting and diagnosing intermittent job failures at Mozilla
- Which abbreviations should be expanded?
- Would you like a quick peek? providing logging support to monitor data processing in big data applications
- XAI tools in the public sector: a case study on predicting combined sewer overflows
- csDetector: an open source tool for community smells detection
- iBatch: saving Ethereum fees via secure and cost-effective batching of smart-contract invocations
- ÐArcher: detecting on-chain-off-chain synchronization bugs in decentralized applications