<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator><link href="https://yangdonghao621.github.io/feed.xml" rel="self" type="application/atom+xml"/><link href="https://yangdonghao621.github.io/" rel="alternate" type="text/html" hreflang="en"/><updated>2026-07-12T04:43:57+00:00</updated><id>https://yangdonghao621.github.io/feed.xml</id><title type="html">blank</title><subtitle>Donghao Yang, Ph.D. student at Beihang University. Research on AI for Software Engineering, LLM-based program repair, knowledge-augmented code generation, and evaluation methodology. </subtitle><entry><title type="html">How to Write a Strong Experimental Section In The Era Of AI</title><link href="https://yangdonghao621.github.io/blog/2026/writing-experimental-sections/" rel="alternate" type="text/html" title="How to Write a Strong Experimental Section In The Era Of AI"/><published>2026-07-12T00:00:00+00:00</published><updated>2026-07-12T00:00:00+00:00</updated><id>https://yangdonghao621.github.io/blog/2026/writing-experimental-sections</id><content type="html" xml:base="https://yangdonghao621.github.io/blog/2026/writing-experimental-sections/"><![CDATA[<figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/headpic-writing-experimental-sections-480.webp 480w,/assets/img/headpic-writing-experimental-sections-800.webp 800w,/assets/img/headpic-writing-experimental-sections-1400.webp 1400w," type="image/webp" sizes="95vw"/> <img src="/assets/img/headpic-writing-experimental-sections.jpg" class="img-fluid rounded z-depth-1" width="100%" height="auto" loading="lazy" onerror="this.onerror=null; document.querySelectorAll('.responsive-img-srcset').forEach(function (n) { n.remove(); });"/> </picture> </figure> <p>Many experimental sections are technically complete but intellectually weak. They contain tables, figures, and statistical tests, yet after reading them the audience may still wonder: what do these numbers actually mean, why did the results occur, and what does the study contribute beyond this particular experiment?</p> <p>A strong experimental section moves from observation to explanation, from local findings to a coherent argument, and from the paper itself to the broader literature. I summarize this progression in four moves.</p> <h2 id="1-from-numbers-to-meaning-what-happened">1. From Numbers to Meaning: What Happened?</h2> <p>The first task is to explain what the tables and figures show. This sounds obvious, but many papers merely repeat values already visible in a table:</p> <blockquote> <p>Method A achieved 28%, while Method B achieved 20%.</p> </blockquote> <p>A better interpretation:</p> <blockquote> <p>Method A increased the success rate from 20% to 28%, a 40% relative improvement. This suggests the additional information is useful for a meaningful subset of tasks, though remaining failures indicate its benefit is conditional rather than universal.</p> </blockquote> <p>The goal is to transform numerical observations into conclusions. At this stage, clarify the main comparison, the magnitude of the difference, whether it is statistically and practically meaningful, whether it holds across settings, and whether it supports the hypothesis. Do not read the table aloud — explain what the evidence allows the reader to conclude.</p> <h2 id="2-from-observations-to-mechanisms-why-did-it-happen">2. From Observations to Mechanisms: Why Did It Happen?</h2> <p>Aggregate metrics show that a method works, but rarely how. Mechanistic explanations require additional evidence: subgroup analyses, ablation studies, representative cases, execution traces, error categories, or comparisons between successful and unsuccessful examples.</p> <p>A useful analytical chain: statistical pattern → subgroup difference → representative case → process evidence → mechanism explanation.</p> <p>Equally important: explain abnormal or negative results. They are not inconveniences to hide — they are often the most valuable evidence for understanding the method’s boundary conditions. A method may fail when guidance is too vague, inconsistent with the repository state, difficult to operationalize, or correct in principle but irrelevant to the specific failure. These cases reveal when and why the approach does not work.</p> <p>However, distinguish among conclusions directly supported by quantitative evidence, explanations supported by repeated qualitative patterns, and plausible hypotheses requiring further validation. One case can illustrate a mechanism; it cannot prove universality.</p> <h2 id="3-from-individual-findings-to-a-coherent-whole">3. From Individual Findings to a Coherent Whole</h2> <p>Research questions are presented separately for clarity, but a paper should not feel like a collection of unrelated mini-studies. Each RQ should play a specific role in the overall argument.</p> <p>For instance, a study might ask: whether an artifact is reliable, whether it improves downstream performance, under what conditions it is useful, and how it changes agent behavior. These form a potential evidence chain: the artifact is sufficiently reliable → the agent can use it → its use changes the reasoning process → the changed process improves the outcome. This is stronger than four isolated answers.</p> <p>A good synthesis identifies three relationships: <strong>progressive</strong> (how one result supports the next), <strong>conditional</strong> (under what circumstances the effect appears), and <strong>boundary</strong> (where the evidence stops). A convincing paper rarely concludes a method simply “works”; a more informative conclusion identifies when it is effective and when it is not.</p> <h2 id="4-from-the-current-study-to-the-broader-literature-why-does-it-matter">4. From the Current Study to the Broader Literature: Why Does It Matter?</h2> <p>Connecting to prior work should be more than adding citations that agree with the results. A strong discussion asks: does the study validate an existing theory in a new setting, reveal the mechanism behind a previously observed effect, identify a condition under which a prior claim holds, expose a boundary ignored by earlier studies, or contradict previous evidence — and if so, why?</p> <p>Four productive modes of engagement: <strong>validation</strong> (confirming an existing claim in a new domain), <strong>extension</strong> (explaining how or why an effect occurs), <strong>qualification</strong> (showing a broad claim only holds under certain conditions), and <strong>challenge</strong> (producing conflicting evidence and investigating why). The most valuable contribution is often showing how new evidence changes the way we understand the problem — not simply confirming previous work.</p> <h2 id="putting-it-together">Putting It Together</h2> <p>The four moves form a progression: what happened → why did it happen → what do the findings collectively show → why does it matter. Together they transform an experimental section from a sequence of numerical reports into a scientific argument. The goal is not merely to prove a result exists — it is to help the reader understand it, explain its mechanism, see its place in the paper’s argument, and recognize how it advances the field.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[a four-move framework for turning experimental results into a scientific argument — from numbers to meaning, observations to mechanisms, individual findings to a coherent whole, and the study to the broader literature]]></summary></entry><entry><title type="html">Rethinking the Research Workflow: Toward an AI-Native Workspace</title><link href="https://yangdonghao621.github.io/blog/2026/ai-native-research-workspace/" rel="alternate" type="text/html" title="Rethinking the Research Workflow: Toward an AI-Native Workspace"/><published>2026-07-09T00:00:00+00:00</published><updated>2026-07-09T00:00:00+00:00</updated><id>https://yangdonghao621.github.io/blog/2026/ai-native-research-workspace</id><content type="html" xml:base="https://yangdonghao621.github.io/blog/2026/ai-native-research-workspace/"><![CDATA[<figure> <picture> <source class="responsive-img-srcset" srcset="/assets/img/headpic-ai-native-research-workspace-480.webp 480w,/assets/img/headpic-ai-native-research-workspace-800.webp 800w,/assets/img/headpic-ai-native-research-workspace-1400.webp 1400w," type="image/webp" sizes="95vw"/> <img src="/assets/img/headpic-ai-native-research-workspace.png" class="img-fluid rounded z-depth-1" width="100%" height="auto" loading="lazy" onerror="this.onerror=null; document.querySelectorAll('.responsive-img-srcset').forEach(function (n) { n.remove(); });"/> </picture> </figure> <p>The way we do computational research today is painfully fragmented. A typical project flows through four stages—coding, discussion, writing, and reflection—each using a different tool, each with its own context silo.</p> <p>In VSCode or Cursor for coding, the LLM knows your source files but has no idea what your paper claims, what experiments you’ve tried, or why a particular design choice was made. When you switch to ChatGPT or Claude Web for brainstorming, the LLM has lost all awareness of your latest code, experiment results, and failed attempts. Open Overleaf to write, and it knows even less: no experiment details, no figure provenance, no history of decisions. By the time you sit down to reflect, most of that tacit knowledge has already evaporated.</p> <p>The consequences are threefold. First, LLM context is not shared across stages—every tool switch is a context reset. Second, research artifacts are scattered across disjoint systems, making genuine retrospection nearly impossible. But the most critical pain point, and the one most unique to research, is that <strong>claims in your paper cannot be reliably traced back to the experiments, code, failed attempts, and design discussions that produced them</strong>.</p> <p>What we need is not yet another IDE. The minimal viable form already exists as a convention layered on top of tools researchers already use: a VSCode/Cursor workspace augmented by MCP tools and Skills, with the project repo itself serving as the unified knowledge base.</p> <p>Imagine a project organized like this:</p> <div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>project/
├── paper/              # main.tex, sections, figures
├── code/               # src, scripts
├── experiments/        # configs, results, logs
├── notes/              # research_log, meeting_notes, failed_ideas
├── skills/             # research_advisor, experiment_analyst, paper_writer, reviewer
└── context/            # claims.yaml, evidence_map.yaml, decisions.md
</code></pre></div></div> <p>The real capability is not the directory structure—it’s what the system can do with it. When you write a claim in your paper, the agent knows which experiment it maps to, which script generated the figure, what configuration produced that result, which alternatives you tried and discarded, and what the discussion looked like when the decision was made. The evidence chain is explicit, searchable, and shareable.</p> <p>This is not a tool. It is a <strong>workspace convention</strong>—an AI-native way to organize computational research so that paper, code, experiments, logs, and agent history form a single, coherent context, and every claim carries its evidence with it.</p>]]></content><author><name></name></author><summary type="html"><![CDATA[why current research toolchains are fragmented and what an AI-native workspace for computational research might look like]]></summary></entry></feed>