PIPages
Labs

Wael Kessentini

DePaul University, IL·Computer Science

Software decays as it grows. Refactoring is the practice of restructuring existing code without changing what it does, so that it stays readable and maintainable and builds up less "technical debt." Thousands of researchers have studied refactoring, but they lack shared public benchmarks, tools and datasets.

Fields

Computer Science

Engineering

Topics

software refactoring

technical debt

software engineering

Grants
1 known grant, through Sep 2027

What they work on

  1. Curate a public repository of software refactoring datasets, cleaned and checked for coverage and diversity, to serve as benchmarks for validating new refactoring tools and for empirical studies.
  2. Package existing refactoring tools as Docker images coordinated by Kubernetes, converting their inputs and outputs to common formats so they work together from detecting to documenting code quality issues.
  3. Mine millions of manual refactorings by open-source developers to recommend and synthesize new refactorings by example for Python and other data science languages.
  4. Release an API and cloud services that let the community upload and run datasets, tools, tutorials and teaching examples, supported by workshops.

More about the research

As a result, they often rebuild earlier work from scratch, which wastes effort and can make results less trustworthy. This collaborative project is building REFCRI, a community infrastructure that collects refactoring datasets and tools and offers refactoring as an online service.

Why it matters

Companies spend millions of dollars each year paying down technical debt through refactoring. Shared, ready-to-run refactoring tools and benchmarks could move research into practice faster, give instructors real-world examples for software engineering courses, and help scientists keep their own research code, often written in Python, from decaying.

Known grants

From NIH and NSF research grants. Labs often have other funding we can't see.

Collaborative Research: CCRI: New: A Software Refactoring Community Infrastructure

NSF · Oct 2022 – Sep 2027

Closest labs

Anita Sarma

Oregon State University, OR·Computer Science

Identify the needs and expectations of students and instructors for a chatbot that supports open source software contribution, using participatory design.

Yueqi Chen

University of Colorado Boulder, CO·Computer Science

Refactor the Community Earth System Model (CESM) codebase by decoupling its computational and control logic and rewriting the control layer in Python, so that modern security practices can be integrated.

Tianyin Xu

University of Illinois Urbana-Champaign, IL·Computer Science·Early-career

Establish the foundations of configuration testing for cloud and datacenter software, a missing piece of how production configuration changes are checked today.

The school

DePaul University: 4 labs on PI Pages, $11M a year on research, 47 research doctorates a year.

More about DePaul University

Reach out

A start for your email. Fill in the brackets.