101 citations · 386 across the 29 of their papers we have counts for
32 papers
Technical Debt Management: The Road Ahead for Successful Software Delivery
Paris Avgeriou, Ipek Ozkaya, Alexander Chatzigeorgiou +5
Technical Debt, considered by many to be the 'silent killer' of software projects, has undeniably become part of the everyday vocabulary of software engineers. We know it compromis…
Understanding the Building Blocks of Accountability in Software Engineering
Adam Alami, Neil Ernst
In the social and organizational sciences, accountability has been linked to the efficient operation of organizations. However, it has received limited attention in software engine…
Are You a Real Software Engineer? Best Practices in Online Recruitment for Software Engineering Studies
Adam Alami, Mansooreh Zahedi, Neil Ernst
Online research platforms, such as Prolific, offer rapid access to diverse participant pools but also pose unique challenges in participant qualification and skill verification. Pr…
Unveiling the Life Cycle of User Feedback: Best Practices from Software Practitioners
Ze Shi Li, Nowshin Nawar Arony, Kezia Devathasan +3
User feedback has grown in importance for organizations to improve software products. Prior studies focused primarily on feedback collection and reported a high-level overview of t…
A Study of Documentation for Software Architecture
Neil A. Ernst, Martin P. Robillard
Documentation is an important mechanism for disseminating software architecture knowledge. Software project teams can employ vastly different formats for documenting software archi…
A Data-Driven Approach for Finding Requirements Relevant Feedback from TikTok and YouTube
Manish Sihag, Ze Shi Li, Amanda Dash +5
The increasing importance of videos as a medium for engagement, communication, and content creation makes them critical for organizations to consider for user feedback. However, si…
Architecting Complex, Long-Lived Scientific Software
Neil A. Ernst, John Klein, Marco Bartolini +2
Software is a critical aspect of large-scale science, providing essential capabilities for making scientific discoveries. Large-scale scientific projects are vast in scope, with li…
From Copilot to Pilot: Towards AI Supported Software Development
Rohith Pudari, Neil A. Ernst
AI-supported programming has arrived, as shown by the introduction and successes of large language models for code, such as Copilot/Codex (Github/OpenAI) and AlphaCode (DeepMind).…
Autonomy Is An Acquired Taste: Exploring Developer Preferences for GitHub Bots
Amir Ghorbani, Nathan Cassee, Derek Robinson +4
Software bots fulfill an important role in collective software development, and their adoption by developers promises increased productivity. Past research has identified that bots…
Registered Reports in Software Engineering
Neil A. Ernst, Maria Teresa Baldassarre
Registered reports are scientific publications which begin the publication process by first having the detailed research protocol, including key research questions, reviewed and ap…
Narratives: the Unforeseen Influencer of Privacy Concerns
Ze Shi Li, Manish Sihag, Nowshin Nawar Arony +4
Privacy requirements are increasingly growing in importance as new privacy regulations are enacted. To adequately manage privacy requirements, organizations not only need to comply…
AI-driven Development Is Here: Should You Worry?
Neil Ernst, Gabriele Bavota
AI-Driven Development Environments (AIDEs) Integrate the power of modern AI into IDEs like Visual Studio Code and JetBrains IntelliJ. By leveraging massive language models and the…
Error Identification Strategies for Python Jupyter Notebooks
Derek Robinson, Neil A. Ernst, Enrique Larios Vargas +1
Computational notebooks -- such as Jupyter or Colab -- combine text and data analysis code. They have become ubiquitous in the world of data science and exploratory data analysis.…
Crowdsourcing the State of the Art(ifacts)
Maria Teresa Baldassarre, Neil Ernst, Ben Hermann +2
In any field, finding the "leading edge" of research is an on-going challenge. Researchers cannot appease reviewers and educators cannot teach to the leading edge of their field if…
Conclusion Stability for Natural Language Based Mining of Design Discussions
Alvi Mahadi, Neil A. Ernst, Karan Tongay
Developer discussions range from in-person hallway chats to comment chains on bug reports. Being able to identify discussions that touch on software design would be helpful in docu…
Continuously Managing NFRs: Opportunities and Challenges in Practice
Colin Werner, Ze Shi Li, Derek Lowlind +3
Non-functional requirements (NFR), which include performance, availability, and maintainability, are vitally important to overall software quality. However, research has shown NFRs…
Uncovering the Benefits and Challenges of Continuous Integration Practices
Omar Elazhary, Colin Werner, Ze Shi Li +3
In 2006, Fowler and Foemmel defined ten core Continuous Integration (CI) practices that could increase the speed of software development feedback cycles and improve software qualit…
ADEPT: A Socio-Technical Theory of Continuous Integration
Omar Elazhary, Margaret-Anne Storey, Neil A. Ernst +1
Continuous practices that rely on automation in the software development workflow have been widely adopted by industry for over a decade. Despite this widespread use, software deve…
VConstruct: Filling Gaps in Chl-a Data Using a Variational Autoencoder
Matthew Ehrler, Neil Ernst
Remote sensing of Chlorophyll-a is vital in monitoring climate change. Chlorphyll-a measurements give us an idea of the algae concentrations in the ocean, which lets us monitor oce…
Understanding Peer Review of Software Engineering Papers
Neil A. Ernst, Jeffrey C. Carver, Daniel Mendez +1
Peer review is a key activity intended to preserve the quality and integrity of scientific publications. However, in practice it is far from perfect. We aim at understanding how re…
The Lack of Shared Understanding of Non-Functional Requirements in Continuous Software Engineering: Accidental or Essential?
Colin Werner, Ze Shi Li, Neil Ernst +1
Building shared understanding of requirements is key to ensuring downstream software activities are efficient and effective. However, in continuous software engineering (CSE) some…
Code Duplication and Reuse in Jupyter Notebooks
Andreas Koenzen, Neil Ernst, Margaret-Anne Storey
Duplicating one's own code makes it faster to write software. This expediency is particularly valuable for users of computational notebooks. Duplication allows notebook users to qu…
GDPR Compliance in the Context of Continuous Integration
Ze Shi Li, Colin Werner, Neil Ernst +1
The enactment of the General Data Protection Regulation (GDPR) in 2018 forced any organization that collects and/or processes EU-based personal data to comply with stringent privac…
Cross-Dataset Design Discussion Mining
Alvi Mahadi, Karan Tongay, Neil A. Ernst
Being able to identify software discussions that are primarily about design, which we call design mining, can improve documentation and maintenance of software systems. Existing de…