PapersFlow Research Brief
Software Engineering Research
Research Guide
What is Software Engineering Research?
Software Engineering Research is the scientific study of methods, tools, and theories for designing, building, evolving, and evaluating software systems using empirical evidence and formal reasoning.
Software Engineering Research spans foundational principles of modular design, measurement, and maintainability, exemplified by "On the criteria to be used in decomposing systems into modules" (1972), "A Complexity Measure" (1976), and "Refactoring: Improving the Design of Existing Code" (2002).
Research Sub-Topics
Software Metrics Object-Oriented Design
This sub-topic develops metrics like CK suite for measuring OO design quality and complexity. Researchers validate correlations with fault-proneness and maintainability.
Software Refactoring Techniques
This sub-topic catalogs refactoring patterns to improve existing code without altering behavior. Researchers study automation tools and impact on modularity.
Modular Decomposition Criteria
This sub-topic defines cohesion and coupling metrics for system decomposition into modules. Researchers evaluate trade-offs in high-cohesion low-coupling designs.
Systematic Literature Reviews Software Engineering
This sub-topic applies SLR protocols to synthesize evidence in SE research areas. Researchers develop guidelines for protocol design and bias mitigation.
Software Complexity Measures
This sub-topic proposes cyclomatic and Halstead metrics for code complexity assessment. Researchers investigate predictive power for defects and effort estimation.
Why It Matters
Software Engineering Research matters because it produces actionable methods for improving software quality, maintainability, and decision-making in real systems, including industrial and research software. "Refactoring: Improving the Design of Existing Code" (2002) provides a concrete approach to restructuring existing code to improve design without changing external behavior, which directly supports long-lived codebases that must be adapted over time. Chidamber and Kemerer (1994) in "A metrics suite for object oriented design" connected software measurement to process improvement needs in software development, enabling organizations to reason about object-oriented designs using defined metrics rather than intuition alone. McCabe (1976) in "A Complexity Measure" defined a graph-theoretic measure intended to help manage and control program complexity, which is directly relevant to practices such as code review prioritization and risk management. Kitchenham et al. (2008) in "Systematic literature reviews in software engineering – A systematic literature review" formalized how evidence is aggregated in the field via systematic literature reviews, supporting decisions about which techniques to adopt by summarizing results across studies rather than relying on single reports.
Reading Guide
Where to Start
Start with Parnas’s "On the criteria to be used in decomposing systems into modules" (1972) because it introduces a clear problem statement—how to divide systems into modules—and ties design choices to flexibility and comprehensibility in terms that remain usable across subfields.
Key Papers Explained
Parnas’s "On the criteria to be used in decomposing systems into modules" (1972) frames software design as decompositions that affect changeability and understanding, providing a conceptual foundation for later measurement work. McCabe’s "A Complexity Measure" (1976) then supplies a concrete, graph-theoretic way to quantify aspects of program structure for managing complexity. Chidamber and Kemerer’s "A metrics suite for object oriented design" (1994) extends measurement into object-oriented design, aligning metrics with process improvement motivations in software development. Fowler’s "Refactoring: Improving the Design of Existing Code" (2002) connects design quality to systematic code transformations, making maintainability an intervention target rather than only an assessment. Kitchenham et al.’s "Systematic literature reviews in software engineering – A systematic literature review" (2008) ties the field together methodologically by specifying how to aggregate results across studies as evidence for or against particular techniques.
Paper Timeline
Most-cited paper highlighted in red. Papers ordered chronologically.
Advanced Directions
Two current methodological frontiers visible in the provided sources are (1) stronger evaluation practice and metric interpretation, as argued in Powers’s "Evaluation: from precision, recall and F-measure to ROC, informedness, markedness and correlation" (2020), and (2) research agendas around agent-based approaches to building software, as scoped in the preprint "Agentic Software Engineering: Foundational Pillars and a Research Roadmap" (2025). A parallel frontier is responsible development and deployment of large language models that may be used in software engineering workflows, where "On the Dangers of Stochastic Parrots" (2021) provides a risk-focused framing for data, scale, and downstream impacts.
Papers at a Glance
| # | Paper | Year | Venue | Citations | Open Access |
|---|---|---|---|---|---|
| 1 | Computers and Intractability: A Guide to the Theory of NP-Comp... | 1979 | — | 44.4K | ✕ |
| 2 | Harvard Business Review | 1988 | International Journal ... | 18.2K | ✕ |
| 3 | Graph drawing by force‐directed placement | 1991 | Software Practice and ... | 6.2K | ✕ |
| 4 | A Complexity Measure | 1976 | IEEE Transactions on S... | 5.7K | ✕ |
| 5 | Refactoring: Improving the Design of Existing Code | 2002 | Lecture notes in compu... | 5.6K | ✕ |
| 6 | A metrics suite for object oriented design | 1994 | IEEE Transactions on S... | 5.6K | ✕ |
| 7 | On the criteria to be used in decomposing systems into modules | 1972 | Communications of the ACM | 4.6K | ✓ |
| 8 | On the Dangers of Stochastic Parrots | 2021 | — | 4.5K | ✓ |
| 9 | Evaluation: from precision, recall and F-measure to ROC, infor... | 2020 | arXiv (Cornell Univers... | 4.4K | ✓ |
| 10 | Systematic literature reviews in software engineering – A syst... | 2008 | Information and Softwa... | 4.2K | ✓ |
In the News
University of Chicago Researchers Earn Top Honor for ...
the Most Influential Paper Award from SEAMS (the Symposium on Software Engineering for Adaptive and Self-Managing Systems). Published in 2015 and co-authored with an international team of researche...
Open Source Programs Office receives grant to ... - JHU Hub
Libraries # Open Source Programs Office receives grant to establish Research Software Support Network
SSI awards funding to 13 projects through the RSMF ...
Round 1 of the Research Software Maintenance Fund has awarded a total of just under £3m to 13 projects selected for their potential to deliver high impact, value for money, feasibility, and quality.
Research Software Funding Opportunities
This database focuses on funding calls or programs that are **targeted at research software** and/or those who develop and maintain it (such as research software engineers). The database does not i...
Keeping U.S. scientific research and innovation ...
solve on their own. The Tech Labs initiative will support teams of researchers, scientists and engineers who will pursue technical breakthroughs that have the potential to reshape or create entire ...
Code & Tools
RSEF extracts the link between a scientific paper and its corresponding software implementations (i.e., code repositories). It accomplishes this by...
A curated repository of data sets and tools that can be used for conducting evidence-based, data-driven research on software systems. This research...
Collecting a list of papers with code implementations, which could be used as baselines. ### Stack Overflow
{{ message }} # # research-software-engineering Star ## Here are 88 public repositories matching this topic... *Language:*All Filter by language
This repository contains the definition a skills and competencies framework to help us classify and describe technical and non-technical skills we ...
Recent Preprints
Software Engineering
All fieldsTitleAuthorAbstractCommentsJournal referenceACM classificationMSC classificationReport numberarXiv identifierDOIORCIDarXiv author IDHelp pagesFull text Search arXiv logo Cornell Univer...
ICSE Proceedings
Jan 2026] | || ICSE PROCEEDINGS The proceedings of ICSE, the ACM/IEEE International Conference on Software Engineering® are available in the ACM Digital Library and the IEEE Digital Library . | | |...
Agentic Software Engineering: Foundational Pillars and a Research Roadmap
Cornell University Logo open search GO open navigation menu # Computer Science \> Software Engineering **arXiv:2509.06216**(cs) [Submitted on 7 Sep 2025 ( v1 ), last revised 23 Sep 2025 (this vers...
Latest Developments
The latest developments in software engineering research as of February 2026 include the increasing use of agentic coding and AI collaboration in software development, with significant growth in agentic systems, reinforcement learning for reasoning, and long-horizon task solving by AI agents (Anthropic, 2026, arXiv, 2025, arXiv, 2025). Additionally, research highlights a shift towards measurable ROI, disciplined engineering, and AI-driven automation in software processes (Waydev, 2025, Deloitte, 2025).
Sources
Frequently Asked Questions
What is Software Engineering Research?
Software Engineering Research is the scientific study of how to build, evolve, and evaluate software systems using methods that can be tested, measured, and compared. Core exemplars include design principles in "On the criteria to be used in decomposing systems into modules" (1972) and measurement approaches in "A Complexity Measure" (1976) and "A metrics suite for object oriented design" (1994).
How do researchers measure software complexity and why does it matter?
McCabe (1976) in "A Complexity Measure" described a graph-theoretic complexity measure and illustrated how it can be used to manage and control program complexity. The practical goal stated in the paper is management and control of complexity, which directly supports maintainability and comprehension work.
Which principles guide modular design in software systems?
Parnas (1972) in "On the criteria to be used in decomposing systems into modules" argued that modularization can improve flexibility and comprehensibility while shortening development time, but that effectiveness depends on the criteria used to divide a system into modules. The paper frames modular decomposition as a design decision with measurable downstream consequences for change and understanding.
How is evidence synthesized across many software engineering studies?
Kitchenham et al. (2008) in "Systematic literature reviews in software engineering – A systematic literature review" assessed the impact of systematic literature reviews (SLRs) as the recommended evidence-based software engineering method for aggregating evidence. The paper situates SLRs as a structured approach for summarizing what is known across multiple studies rather than relying on isolated findings.
Which methods help improve existing code without rewriting it?
"Refactoring: Improving the Design of Existing Code" (2002) describes refactoring as a disciplined way to improve the design of existing code while preserving external behavior. As a research and practice topic, refactoring connects maintainability goals to repeatable code transformations that can be studied and evaluated.
How should evaluation metrics be chosen for empirical software engineering and related ML-for-SE studies?
Powers (2020) in "Evaluation: from precision, recall and F-measure to ROC, informedness, markedness and correlation" argued that common measures such as precision, recall, and F-measure are biased and should not be used without understanding their biases and chance or base-case levels. The paper motivates careful metric selection and interpretation when comparing tools or models using empirical results.
Open Research Questions
- ? How can modular decomposition criteria from "On the criteria to be used in decomposing systems into modules" (1972) be operationalized into measurable, tool-checkable rules that predict flexibility and comprehensibility outcomes across diverse codebases?
- ? How should complexity measures inspired by "A Complexity Measure" (1976) be combined with modern object-oriented design metrics from "A metrics suite for object oriented design" (1994) to best predict maintenance effort and defect-proneness without overfitting to a specific project context?
- ? Which refactorings described in "Refactoring: Improving the Design of Existing Code" (2002) yield consistent improvements in measurable design quality, and which introduce hidden costs that are not captured by standard metric suites?
- ? How can the evidence aggregation approach in "Systematic literature reviews in software engineering – A systematic literature review" (2008) be extended to reliably incorporate tool artifacts, code repositories, and replication packages as first-class evidence alongside paper results?
- ? How should the metric-bias concerns in "Evaluation: from precision, recall and F-measure to ROC, informedness, markedness and correlation" (2020) reshape empirical evaluation norms when software engineering studies report classifier-style outcomes (e.g., defect prediction or code recommendation)?
Recent Trends
The provided topic data lists 101,766 works associated with Software Engineering Research, indicating a large research area even though a 5-year growth rate is not available (Growth (5yr): N/A).
Methodologically, the most-cited core includes measurement and evaluation (McCabe’s "A Complexity Measure" with 5,725 citations; Chidamber and Kemerer’s "A metrics suite for object oriented design" (1994) with 5,610 citations; Powers’s "Evaluation: from precision, recall and F-measure to ROC, informedness, markedness and correlation" (2020) with 4,425 citations) alongside evidence synthesis (Kitchenham et al.’s "Systematic literature reviews in software engineering – A systematic literature review" (2008) with 4,207 citations).
1976Recent topical emphasis in the provided sources includes agent-based directions, represented by the preprint "Agentic Software Engineering: Foundational Pillars and a Research Roadmap" , and increased attention to the risks of large language models, represented by "On the Dangers of Stochastic Parrots" (2021) with 4,478 citations.
2025Research Software Engineering Research with AI
PapersFlow provides specialized AI tools for your field researchers. Here are the most relevant for this topic:
AI Literature Review
Automate paper discovery and synthesis across 474M+ papers
Deep Research Reports
Multi-source evidence synthesis with counter-evidence
Paper Summarizer
Get structured summaries of any paper in seconds
AI Academic Writing
Write research papers with AI assistance and LaTeX support
Start Researching Software Engineering Research with AI
Search 474M+ papers, run AI-powered literature reviews, and write with integrated citations — all in one workspace.