• https://doi.org/10.4233/uuid:e5da9c8d-02ab-42e3-9480-9af6bd5a7d49Copy DOI Icon

Data-Driven Software Engineering

Show More
  • Abstract
  • Literature Map
  • Similar Papers
Abstract

Specialized tools, such as IDEs, issue trackers, and code review tools, are an indispensable part of the modern software engineering process. These tools are constantly evolving. Besides enabling tools to support a wider range of technologies and frameworks, we are learning to provide additional features in completely new ways. One prominent stream of innovation in software engineering tools is dedicated to utilizing historical data to enable data-driven features, such as defect prediction engines and recommender systems, which leverage records of prior activity to assist with decision making. Many data-driven features in software engineering tools initially get born out of the context of real-world tools as techniques devised and evaluated in synthetic settings by researchers. While convenient, synthetic evaluation of approaches that are ultimately aimed at bringing improvement to real world problems involves a number of simplifications and assumptions. In this dissertation, we highlight several aspects that, while vital for bringing innovative methods to software engineering tools, are often discarded in existing research. We closely explore several topics specific to artificial evaluation environments, such as simplifications in mining file modification histories, use of synthetic datasets for source code authorship attribution, and a gap between accuracy of reviewer recommendation models and their perception by users. Moreover, we make a case for sharing technical artifacts by converting data mining pipelines into reusable tools, and propose a novel approach to modeling expertise transfer from code modification by capturing individual contribution style of developers. Key contributions of this dissertation include a high-level model of the lifecycle of a data-driven software engineering technique, a discussion of dangerous assumptions and simplifications that are made on every step in this lifecycle, a demonstration of importance of a careful approach to mining software repositories, and a demonstration of serious misalignment between artificial evaluation and realistic environments for the problems of code reviewer recommendation and code authorship attribution. We conclude the dissertation by discussing underlying reasons for misalignment between research environments and real-world tools, and propose potential steps to narrow it down and ultimately accelerate innovation in software engineering tooling.

Similar Papers
  • Single Report
  • Citations32

A Guide to the Classification and Assessment of Software Engineering Tools

  • Sep 01, 1987
  • Robert Firth +4
  • Conference Article
  • Citations17

Peer code review in open source communitiesusing reviewboard

  • Oct 21, 2012
  • Amiangshu Bosu +1
  • Research Article
  • Citations3

The utility of complexity metrics during code reviews for CSE software projects

  • May 20, 2024
  • Future Generation Computer Systems
  • James M Willenbring +1
  • Book Chapter
  • Citations1

An organizational approach for experience-based process improvement in software engineering: The Software Experience Center

  • Jan 01, 2001
  • Frank Sazama
  • Conference Article
  • Citations5

A Task-Based Code Review Process and Tool to Comply with the DO-278/ED-109 Standard for Air Traffic Managment Software Development: An Industrial Case Study

  • Nov 01, 2011
  • Mario Bernhart +4
  • Research Article

Convergence of AI programming and software engineering

  • Jun 01, 1988
  • The Knowledge Engineering Review
  • C J Rawlings
  • Book Chapter
  • Citations1

What the software engineer should know about AI -- and vice versa

  • Jan 01, 1991
  • Derek Partridge
  • Book Chapter
  • Citations1

Teaching Software Engineering through a Collaborative Game

  • Jan 01, 2014
  • Elizabeth Suescún Monsalve +2
  • Single Report
  • Citations3

Development of a Method for Quantifying the Reliability of Nuclear Safety-Related Software

  • Oct 01, 2003
  • Yi Zhang +1
  • Book Chapter
  • Citations42

Adopting Open Source Software Engineering (OSSE) Practices by Adopting OSSE Tools

  • May 27, 2005
  • Jason Robbins
  • Book Chapter
  • Citations2

A Prototype Knowledge-Based Tool for Software Engineering Adoption and Implementation

  • Jan 01, 1996
  • P Fowler +3
  • Research Article
  • Citations155

An empirical study of static call graph extractors

  • Apr 01, 1998
  • ACM Transactions on Software Engineering and Methodology
  • Gail C Murphy +3
  • Research Article

Exploring the Role of Singleton and Factory Patterns in Software Design

  • Nov 20, 2022
  • Journal of Artificial Intelligence, Machine Learning and Data Science
  • Sadhana Paladugu
  • Conference Instance

Proceedings of the 2008 Foundations of Software Engineering Doctoral Symposium

  • Oct 31, 2008
  • Conference Article
  • Citations3

Verification and validation in fuzzy expert systems

  • Oct 22, 1995
  • S Smith +1
Cactus Communications logo

Copyright 2026 Cactus Communications. All rights reserved.