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
- 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.
- 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.
- Mine millions of manual refactorings by open-source developers to recommend and synthesize new refactorings by example for Python and other data science languages.
- 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.
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.
Reach out
A start for your email. Fill in the brackets.