By Category
APIs
Mar 9, 2022 | A First Look at the Deprecation of RESTful APIs |
Age Discrimination
Oct 3, 2021 | Is 40 the New 60? |
Agile Development
Apr 24, 2022 | Role Clarity Deficiencies Can Wreck Agile Teams |
Aug 18, 2021 | How Agile Teams Make Self-Assignment Work |
Aug 9, 2021 | The Impact of Rapid Release Cycles on the Integration Delay of Fixed Issues |
Oct 11, 2011 | Experiences of Using Pair Programming in an Agile Project |
Aug 2, 2011 | A Teamwork Model for Understanding an Agile Team |
Anti-patterns
Mar 14, 2022 | Architecture Anti-Patterns: Automatically Detectable Violations of Design Principles |
App Store
Oct 30, 2021 | App Store Effects on Software Engineering Practices |
Architecture
Oct 2, 2016 | Revisiting the Anatomy and Physiology of the Grid |
Authorship
Oct 15, 2021 | Authorship Attribution of Source Code |
Automation
Benchmarking
Bias
Aug 29, 2021 | Beyond the Code Itself: How Programmers Really Look at Pull Requests |
Book Review
May 6, 2022 | Not Quite Modern |
Oct 2, 2021 | The Programmer's Brain |
Aug 12, 2013 | The Essence of Software Engineering |
Jun 13, 2013 | The MSR Cookbook: Mining a Decade of Research |
May 3, 2012 | Code Simplicity |
Bug Reports
Nov 8, 2021 | BugSwarm: Mining and Continuously Growing a Dataset of Reproducible Failures and Fixes |
Jul 18, 2012 | Clustering Duplicate Crash Reports |
Aug 30, 2011 | What Makes a Good Bug Report? |
Bugs
Mar 11, 2022 | Characterizing Single-Statement Bugs in Popular Open-Source Python Projects |
Build Systems
Sep 21, 2021 | Build Systems à la Carte |
Circadian Rhythms
Sep 26, 2021 | Two Papers on Time |
Code Clones
Aug 16, 2011 | 'Cloning considered harmful' considered harmful |
Code Generation
Jun 6, 2013 | Automatic Patch Generation Learned from Human-Written Patches |
Code Ownership
Sep 10, 2021 | Why Software Projects need Heroes: Lessons Learned from 1100+ Projects |
Jun 7, 2016 | Code Ownership Revisited |
Oct 22, 2011 | Three Results, Many Definitions |
Sep 5, 2011 | Don't Touch My Code! |
Jun 27, 2011 | Ownership, Experience, and Defects |
Code Review
Code Search
Dec 2, 2021 | Deep Code Search |
Code Smells
Dec 13, 2021 | Are Refactorings to Blame? An Empirical Study of Refactorings in Merge Conflicts |
Nov 29, 2021 | Investigating Next Steps in Static API-Misuse Detection |
Aug 14, 2016 | Do Code Smells Hamper Novice Programming? |
Jul 24, 2013 | Automatic Patch Generation Learned from Human-Written Patches |
Jul 7, 2013 | How, and Why, Process Metrics Are Better |
Aug 16, 2011 | 'Cloning considered harmful' considered harmful |
Jun 27, 2011 | Refactoring Pipe-like Mashups for End-user Programmers |
Cognition
Oct 14, 2021 | Exploring Programmers' API Learning Processes |
Collaborative Development
Aug 29, 2021 | Beyond the Code Itself: How Programmers Really Look at Pull Requests |
Aug 19, 2021 | Toxic Code Snippets on Stack Overflow |
Aug 18, 2021 | How Agile Teams Make Self-Assignment Work |
Jun 7, 2016 | Pull-Based Development |
Apr 25, 2014 | Cassandra: Proactive Conflict Minimization through Optimized Task Scheduling |
May 24, 2012 | Supporting Professional Spreadsheet Users by Generating Leveled Dataflow Diagrams |
Mar 1, 2012 | Social Coding in GitHub |
Sep 13, 2011 | Proactive Detection of Collaboration Conflicts |
Jul 18, 2011 | Understanding Broadcast Based Peer Review on Open Source Projects |
Commenting
Sep 6, 2021 | Commenting source code: is it worth it for small programming tasks? |
Communication
Mar 31, 2022 | The Effect of Textual vs. Graphical Software Design Descriptions on Software Design Communication |
Computer Security
Sep 27, 2021 | Technology-Facilitated Intimate Partner Abuse |
Computers and Society
Oct 11, 2021 | A Critical History of Logo and Constructionist Learning |
Computing Education
Conference
Apr 18, 2022 | Andreas Zeller Summarizes ICSE 2022 |
Conferences
Jun 4, 2013 | First Impressions of MSR |
Configuration
Jun 9, 2016 | Too Many Knobs |
Continuous Integration
Apr 8, 2022 | How Effective is Continuous Integration in Indicating Single-Statement Bugs? |
Mar 21, 2022 | Strategies to Improve Continuous Integration |
Oct 19, 2021 | Restarted and Flaky Builds on Travis CI |
Oct 18, 2021 | Bad Practices in Continuous Integration |
Crowdsourcing
Oct 26, 2021 | Enriching API Documentation with Code Samples and Usage Scenarios |
Sep 19, 2021 | Reading Answers on Stack Overflow: Not Enough! |
Data Science
Databases
Daylight Savings Time
Sep 26, 2021 | Two Papers on Time |
Debugging
Oct 31, 2021 | Locating Faults with Program Slicing |
Oct 7, 2021 | Finding Bugs in Database Systems via Query Partitioning |
Sep 2, 2021 | Compiler Error Messages Considered Unhelpful |
Jun 5, 2016 | BigDebug |
Deep Learning
Dec 2, 2021 | Deep Code Search |
Design
Design Patterns
DevOps
Development Practices
Development Process
Feb 28, 2022 | A case history analysis of software error cause-effect relationships |
Sep 26, 2021 | Are Delayed Issues Harder to Resolve? |
Diversity
Oct 16, 2021 | Open Source Projects in Baidu, Alibaba, and Tencent |
Sep 21, 2016 | Paradise Unplugged |
Documentation
Apr 14, 2022 | Generating Unit Tests for Documentation |
Oct 26, 2021 | Enriching API Documentation with Code Samples and Usage Scenarios |
Oct 6, 2021 | Software Documentation Issues Unveiled |
Sep 15, 2021 | Categorizing the Content of GitHub README Files |
Aug 23, 2021 | 9.6 Million Links in Source Code Comments: Purpose, Evolution, and Decay |
Nov 8, 2011 | A Field Study of API Learning Obstacles |
Aug 23, 2011 | Creating and Evolving Developer Documentation |
Domain-Specific Languages
Sep 20, 2021 | Program comprehension of domain-specific and general-purpose languages |
Editorial
May 20, 2022 | A Note on Communication |
May 14, 2022 | May 2022 To Do |
Mar 8, 2022 | Consider the Thermometer |
Oct 24, 2021 | What's Missing from 'The Missing README' |
Oct 20, 2021 | The Tech Worker Handbook |
Aug 10, 2021 | Please help these researchers learn more about what you do |
Aug 8, 2021 | We're Back |
Dec 1, 2016 | Hiatus |
Sep 9, 2016 | You Keep Using That Word… |
Sep 9, 2016 | ACM Permits Authors to Post Open Access Copies of Their Own Work |
Jun 9, 2016 | A Software Engineering Homunculus |
Apr 26, 2016 | Extremely Angry |
Jul 24, 2015 | A Hostage Situation |
Nov 16, 2013 | A Modest Proposal |
Dec 6, 2012 | Two Solitudes Illustrated |
May 29, 2012 | Open Access Research at NWIT, and Everywhere |
Feb 16, 2012 | Teachers Matter—Do Programmers? |
Oct 19, 2011 | Announcement: Empirical Software Engineering at American Scientist |
Oct 11, 2011 | The IROP paper |
Jul 11, 2011 | Webinars on the Architecture of Open Source Applications July 13 and 20 |
Jun 27, 2011 | Theory and Practice |
Education
Error Handling
Sep 5, 2021 | Two Papers on Errors |
Error Messages
Oct 26, 2021 | Error Messages in Relational Database Systems |
Oct 17, 2021 | Demystifying 'Bad' Error Messages in Data Science Libraries |
Sep 20, 2021 | Do Developers Read Compiler Error Messages? |
Estimation
Experience Reports
Aug 9, 2011 | An Empirical Study of Build Maintenance Effort |
Jul 18, 2011 | Debugging in the (Very) Large |
Jun 30, 2011 | Specification and Verification: The Spec# Experience |
Faults
Formal Methods
Jun 30, 2011 | Specification and Verification: The Spec# Experience |
Fuzz Testing
Feb 21, 2022 | AntiFuzz: Impeding Fuzzing Audits of Binary Executables |
Oct 1, 2021 | The Relevance of Classic Fuzz Testing |
Gamification
Oct 3, 2021 | How Gamification Affects Software Developers |
Governance
Sep 9, 2021 | Organizing for openness: six models for developer involvement in hybrid OSS projects |
Grid Computing
Oct 2, 2016 | Revisiting the Anatomy and Physiology of the Grid |
Hackathons
Oct 8, 2021 | Do Hackathon Projects Change the World? |
Hiring
Sep 13, 2021 | What's Wrong With Tech Hiring |
Infrastucture as code
Nov 23, 2021 | The Seven Sins: Security Smells in Infrastructure as Code Scripts |
Interviewing
Apr 13, 2022 | Do You Really Code? |
Job Satisfaction
Oct 4, 2021 | The Daily Life of Software Developers |
Licensing
Sep 4, 2021 | Do Software Developers Understand Open Source Licenses? |
Aug 19, 2021 | Toxic Code Snippets on Stack Overflow |
Lightning Talks
Machine Learning
Feb 22, 2022 | Where should I comment my code? A dataset and model for predicting locations that need comments |
Oct 15, 2021 | Authorship Attribution of Source Code |
Maintenance
Metrics
Modeling
Aug 17, 2011 | Three Empirical Evaluations of UML |
Noticed
Aug 3, 2016 | Perspectives on Data Science for Software Engineering |
Dec 13, 2011 | Research In Progress: How Mozilla Builds Software |
Oct 11, 2011 | The IROP paper |
Aug 24, 2011 | What Michael Feathers Thinks You Should Read |
Novices
Oct 10, 2021 | Insights from Student Solutions to MongoDB Homework Problems |
Aug 14, 2016 | Do Code Smells Hamper Novice Programming? |
Jun 9, 2016 | Novice Programming Mistakes |
Open Source
Operating Systems
Sep 23, 2021 | Two Studies of Software Evolution |
Organizational Behavior
Mar 16, 2022 | Resume-Driven Development |
Aug 23, 2012 | Using topic modelling to understand requirements |
Jan 5, 2012 | The Effects of Stand-Up and Sit-Down Meeting Formats on Meeting Outcomes |
Oct 28, 2011 | Software Requirements Change Taxonomy: Evaluation by Case Study |
Sep 6, 2011 | Does Adding Manpower Also Affect Quality? |
Aug 2, 2011 | A Teamwork Model for Understanding an Agile Team |
Jul 4, 2011 | Requirements Prioritization in Agile Projects: Insights from a Case Study |
Jun 27, 2011 | Organizational Volatility and Its Effects on Software |
Package Management
Sep 22, 2021 | Taxonomy of Package Management in Programming Languages and Operating Systems |
Packaging
Sep 17, 2021 | Why Do Developers Use Trivial Packages? |
Pair Programming
Feb 23, 2012 | Looking at the Same Thing in Pair Programming Tasks |
Oct 11, 2011 | Experiences of Using Pair Programming in an Agile Project |
Jul 26, 2011 | Effects of Personality on Pair Programming |
Jul 11, 2011 | The social dynamics of pair programming |
Parallelism
Performance
Apr 11, 2022 | Database-Access Performance Antipatterns in Database-Backed Web Applications |
Mar 30, 2022 | Number Parsing at a Gigabyte a Second |
Privacy
Mar 7, 2022 | New Me: Understanding Expert and Non-Expert Perceptions and Usage of the Tor Anonymity Network |
Aug 28, 2021 | Privacy Threats in Intimate Relationships |
Productivity
Oct 21, 2021 | The Impact of Sleep Deprivation |
Sep 26, 2021 | Two Papers on Time |
Sep 19, 2021 | Impact of task switching and work interruptions on software development processes |
Aug 21, 2021 | Code and commit metrics of developer productivity: a study on team leaders perceptions |
Aug 9, 2021 | Task Interruption in Software Development Projects |
Aug 23, 2015 | Software Developers' Perceptions of Productivity |
Professional Ethics
Mar 2, 2022 | Does ACM's code of ethics change ethical decision making in software development? |
Oct 24, 2021 | What's Missing from 'The Missing README' |
Oct 20, 2021 | The Tech Worker Handbook |
Program Analysis
Feb 28, 2022 | A case history analysis of software error cause-effect relationships |
Oct 1, 2016 | Apex: Automatic Programming Assignment Error Explanation |
Jun 9, 2016 | Hidden Truths in Dead Software Paths |
Program Comprehension
Program Slicing
Oct 31, 2021 | Locating Faults with Program Slicing |
Programmers
Sep 7, 2021 | Characterizing Software Engineering Work with Personas Based on Knowledge Worker Actions |
Programming Languages
Programming Style
Oct 1, 2021 | Python Coding Style Compliance on Stack Overflow |
Programming by Example
Oct 2, 2016 | FIDEX: Filtering Spreadsheet Data using Examples |
Project Management
Psychology of Programming
Python
Mar 11, 2022 | Characterizing Single-Statement Bugs in Popular Open-Source Python Projects |
Aug 17, 2021 | Two Papers on Python Language Features |
Quality
Questions
Dec 30, 2012 | Why We Need Evidence |
Dec 12, 2012 | Empirical Evidence for the Value of Version Control? |
Aug 22, 2012 | Ten Questions for Researchers |
Readability
Oct 5, 2021 | Three Papers on Readability |
Refactoring
Regular Expressions
Aug 30, 2021 | Two Studies of Regular Expressions |
Remote Work
Mar 28, 2022 | Remote Onboarding During a Pandemic |
Reproducibility
May 18, 2012 | Willingness to Share Research Data Is Related to the Strength of the Evidence and the Quality of Reporting of Statistical Results |
Requirements
Research Methods
Reuse
May 2, 2012 | Example Embedding |
Apr 10, 2012 | Component Reuse vs. Snippet Remixing |
SQL
Aug 27, 2021 | Errors in SQL Queries |
Scientific Computing
Sep 25, 2021 | How Reliable is Scientific Software? |
Jan 17, 2012 | A Survey of the Practice of Computational Science |
Security
Mar 13, 2022 | Obfuscated Strings Threatening Your Privacy |
Feb 21, 2022 | AntiFuzz: Impeding Fuzzing Audits of Binary Executables |
Aug 28, 2021 | Privacy Threats in Intimate Relationships |
Apr 26, 2016 | Finding Security Bugs |
Security Smell
Nov 23, 2021 | The Seven Sins: Security Smells in Infrastructure as Code Scripts |
Sleep Deprivation
Oct 21, 2021 | The Impact of Sleep Deprivation |
Social Responsibility
Mar 2, 2022 | Does ACM's code of ethics change ethical decision making in software development? |
Oct 24, 2021 | What's Missing from 'The Missing README' |
Oct 20, 2021 | The Tech Worker Handbook |
Software Architecture
Mar 14, 2022 | Architecture Anti-Patterns: Automatically Detectable Violations of Design Principles |
Software Evolution
Mar 25, 2022 | When and How to Make Breaking Changes |
Nov 16, 2021 | Software History under the Lens: A Study on Why and How Developers Examine It |
Sep 27, 2021 | The Evolution of JavaScript Code in the Wild |
Sep 23, 2021 | Two Studies of Software Evolution |
Software Projects
Software Quality
Apr 8, 2022 | How Effective is Continuous Integration in Indicating Single-Statement Bugs? |
Software Reliability
Sep 25, 2021 | How Reliable is Scientific Software? |
Source Code
Aug 23, 2021 | 9.6 Million Links in Source Code Comments: Purpose, Evolution, and Decay |
Spreadsheets
Oct 2, 2016 | FIDEX: Filtering Spreadsheet Data using Examples |
May 24, 2012 | Supporting Professional Spreadsheet Users by Generating Leveled Dataflow Diagrams |
Stack Overflow
Static Analysis
Apr 6, 2022 | The Adoption of JavaScript Linters in Practice: A Case Study on ESLint |
Sustainability
Oct 13, 2021 | An Empirical Study of Donations in Open Source |
Symbolic Execution
Oct 1, 2016 | Apex: Automatic Programming Assignment Error Explanation |
Test-Driven Development
Testing
Tools
Turnover
Sep 30, 2021 | Quantifying and mitigating turnover-induced knowledge loss |
UML
Jun 13, 2013 | UML in Practice |
Usability
Version Control
Nov 16, 2021 | Software History under the Lens: A Study on Why and How Developers Examine It |
Aug 12, 2021 | On the Nature of Merge Conflicts |