SEAug 20, 2021

Fex: Assisted Identification of Domain Features from C Programs

arXiv:2108.09245v13 citationsHas Code
Originality Incremental advance
AI Analysis

This addresses the challenge of modularizing legacy software for improved maintainability and reuse, though it is incremental as it builds on existing techniques.

The paper tackles the problem of identifying feature modules in legacy C programs by combining information retrieval and program analysis, enabling domain experts to locate modules using natural language search terms, with evaluation showing successful extraction from open-source projects.

Modern software typically performs more than one functionality. These functionalities or features are not always organized in a way for modules representing these features to be used individually. Many software engineering approaches like programming language constructs, or product line visualization techniques have been proposed to organize projects as modules. Unfortunately, much legacy software suffer from years or decades of improper coding practices that leave the modules in the code almost undetectable. In such scenarios, a desirable requirement is to identify modules representing different features to be extracted. In this paper, we propose a novel approach that combines information retrieval and program analysis approaches to allow domain experts to identify slices of the program that represent modules using natural language search terms. We evaluate our approach by building a proof of concept tool in C, and extract modules from open source projects.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes