diff --git a/_layouts/services.html b/_layouts/services.html index a50bfe1550ab..efc1b38fcff7 100644 --- a/_layouts/services.html +++ b/_layouts/services.html @@ -24,6 +24,13 @@

Services

+
+

2027

+ +

2025

diff --git a/_news/announcement_9.md b/_news/announcement_9.md index 8c743e1a3b88..ae93965d9aad 100644 --- a/_news/announcement_9.md +++ b/_news/announcement_9.md @@ -5,4 +5,4 @@ inline: true related_posts: false --- -New on the site: recent preprints on [RAG hallucination detection](/publications/#yu2026rt4chart), [conversational agent testing](/publications/#lin2026agenteval), [code specification alignment](/publications/#xu2026bespec), and [causal root-cause analysis](/publications/#fang2026openrca). See the [updated publication list](/publications/) for all recent work. +Four new preprints: on [RAG hallucination detection](/publications/#yu2026rt4chart), [conversational agent testing](/publications/#lin2026agenteval), [code specification alignment](/publications/#xu2026bespec), and [causal root-cause analysis](/publications/#fang2026openrca). All are on the [publication list](/publications/). diff --git a/assets/img/oneai-math-education-builder-poster.jpg b/assets/img/oneai-math-education-builder-poster.jpg new file mode 100644 index 000000000000..2fb7f5d0b05c Binary files /dev/null and b/assets/img/oneai-math-education-builder-poster.jpg differ diff --git a/assets/img/oneai-math-education-poster.jpg b/assets/img/oneai-math-education-poster.jpg new file mode 100644 index 000000000000..5635fd9ae3ec Binary files /dev/null and b/assets/img/oneai-math-education-poster.jpg differ diff --git a/assets/video/oneai-math-education.mp4 b/assets/video/oneai-math-education.mp4 new file mode 100644 index 000000000000..c26f563feedc Binary files /dev/null and b/assets/video/oneai-math-education.mp4 differ diff --git a/public/social-card.svg b/public/social-card.svg index e45eaaad1c3b..1db00ba07031 100644 --- a/public/social-card.svg +++ b/public/social-card.svg @@ -3,7 +3,7 @@ Senior Research Fellow / Lero, Ireland Boxi Yu - Software testing & trustworthy AI + Human-centric AI and software Coding agents, test oracles, and rigorous evaluation boxiyu.github.io diff --git a/scripts/prepare-assets.mjs b/scripts/prepare-assets.mjs index b7f6b6ecf2dc..f9b6849bc017 100644 --- a/scripts/prepare-assets.mjs +++ b/scripts/prepare-assets.mjs @@ -6,6 +6,16 @@ await cp('assets/pdf', 'public/assets/pdf', { recursive: true }); for (const image of ['prof_pic.jpg', 'parrot.png']) { await cp(`assets/img/${image}`, `public/assets/img/${image}`); } +await cp( + 'assets/img/oneai-math-education-poster.jpg', + 'public/assets/img/oneai-math-education-poster.jpg', +); +await cp( + 'assets/img/oneai-math-education-builder-poster.jpg', + 'public/assets/img/oneai-math-education-builder-poster.jpg', +); +await mkdir('public/assets/video', { recursive: true }); +await cp('assets/video/oneai-math-education.mp4', 'public/assets/video/oneai-math-education.mp4'); const bibliography = await readFile('_bibliography/papers.bib', 'utf8'); await writeFile('public/papers.bib', bibliography.replace(/^---\s*\n---\s*\n/, '')); await sharp('public/social-card.svg').png().toFile('public/social-card.png'); diff --git a/src/components/ResearchMap.astro b/src/components/ResearchMap.astro index dcd96189cc53..a8e8bbc52971 100644 --- a/src/components/ResearchMap.astro +++ b/src/components/ResearchMap.astro @@ -34,7 +34,7 @@ import { projects } from '../data/site';
  • {item.name} - Related work + {item.venue}
  • ))} @@ -79,7 +79,7 @@ import { projects } from '../data/site'; position: relative; padding: 20px; border-top: 2px solid var(--blue); - background: linear-gradient(180deg, #f3f6fa, #fff 80%); + background: linear-gradient(180deg, var(--wash), var(--paper-raised) 80%); } .map-branch::before { content: ''; diff --git a/src/components/TestLab.astro b/src/components/TestLab.astro index 71dd124cb331..4471bf3aed39 100644 --- a/src/components/TestLab.astro +++ b/src/components/TestLab.astro @@ -50,8 +50,8 @@ const { compact = false } = Astro.props; diff --git a/src/pages/products.astro b/src/pages/products.astro new file mode 100644 index 000000000000..af31bde3c5e0 --- /dev/null +++ b/src/pages/products.astro @@ -0,0 +1,501 @@ +--- +import Base from '../layouts/Base.astro'; +import { pacificProducts } from '../data/pacific'; +--- + + +
    +
    +
    +

    Research → product

    +

    Useful systems for the moments that matter.

    +

    + I turn work on software testing and trustworthy AI into tools that help people build, + teach, and learn with better evidence. +

    + +
    + +
    + +
    +
    +

    OneAI · AI education

    +

    OneAI

    +

    + A teacher-first workspace for creating assessments, guiding student reasoning, and turning + rubric decisions into feedback that students can act on. +

    + Watch the walkthrough +
    +
    +
    + 01 +

    Coach the next step

    +

    Students get a hint or a check on their reasoning while the work is still theirs.

    +
    +
    + 02 +

    Build a complete paper

    +

    + Generate a structured test from a prompt, then export it in the format your class uses. +

    +
    +
    + 03 +

    Keep teachers in control

    +

    Rubrics make scoring consistent; teacher review keeps the final judgement human.

    +
    +
    + 04 +

    Explain every gap

    +

    Per-student error reports show the missed idea and a concrete route to practice it.

    +
    +
    +
    + +
    +
    +
    +

    Product walkthrough

    +

    From first question to useful feedback.

    +
    +

    One flow for students, teachers, and the evidence between them.

    +
    +
    + +
    + OneAI combines guided student chat, paper building, rubric-based scoring, and + student-level error reports in one workspace. +
    +
    +
    + +
    +
    +
    +

    Pacific Studio · selected products

    +

    Three products. One Pacific Studio thesis.

    +
    +

    + Pacific Studio’s tools connect the same questions I work on: how agents build software, + how we prove it, and how people understand the research behind it. +

    +
    +
    + { + pacificProducts.map((product, index) => ( +
    +
    + <> + + 0{index + 1} · {product.verb} + + {product.status} + +
    +

    {product.name}

    +

    {product.description}

    + + {product.cta} + +
    + )) + } +
    + View Pacific Studio +
    + +
    +
    +

    For engineering teams

    +

    Make passing tests mean more.

    +
    +
    +

    + My research on UTBoost and SWE-Bench reliability becomes practical test augmentation for + teams shipping coding agents. Stronger tests expose semantic regressions before a green + check reaches production. +

    + +
    +
    + +
    +

    Work together

    +

    Have a hard-to-measure workflow?

    +

    + I work with research teams, product groups, and educators to turn a fuzzy quality question + into a testable workflow. +

    + Start a conversation +
    +
    + + + diff --git a/src/pages/teaching.astro b/src/pages/teaching.astro index 827944c2b957..328df0d9020f 100644 --- a/src/pages/teaching.astro +++ b/src/pages/teaching.astro @@ -1,36 +1,461 @@ --- import Base from '../layouts/Base.astro'; +const menteeSites: Record = { + 'Qiuyang Mang': 'https://joyemang33.github.io/', + 'Zhiqing Zhong': 'https://coxhin.github.io/', + 'Aoyang Fang': 'https://profile.aoyangfang.top/', +}; +const mentees = [ + ['Qiuyang Mang', 'Graph database testing and retromorphic testing', 'Ph.D. student, UC Berkeley'], + ['Jiayi Yao', 'Log-based anomaly detection', 'Ph.D. student, The University of Chicago'], + ['Haotian Xie', 'Log-based anomaly detection', 'Ph.D. student, Rutgers University'], + [ + 'Zhiqing Zhong', + 'Automated log analysis and Python ecosystem deprecation', + 'Ph.D. student, CUHK–Shenzhen (co-supervised, see above)', + ], + ['Jiaqi Li', 'Testing of image captioning systems', 'Ph.D. student, CUHK–Shenzhen'], + [ + 'Yiyan Hu', + 'Automated testing of named entity recognition systems', + 'M.S. student, UC San Diego', + ], + [ + 'Qingshuo Guo', + 'Retromorphic testing and the test-oracle problem', + 'Ph.D. student, University of Waterloo', + ], + ['Aoyang Fang', 'Graph database testing', 'Ph.D. student, CUHK–Shenzhen'], + [ + 'Xinran Qin', + 'Automated testing of image captioning systems', + 'Ph.D. student, Sun Yat-sen University', + ], + [ + 'Yixing Yang', + 'Testing of image captioning systems', + 'M.S. student, Institut Polytechnique de Paris', + ], + [ + 'Haowen Yang', + 'Package-level deprecation in the Python ecosystem', + 'Ph.D. student, HKUST (Guangzhou)', + ], +]; ---
    -
    -
    -

    PhD students

    + title="Teaching & courses" + description="Courses, workshops, PhD supervision, and teaching resources from Boxi Yu." +> +
    +
    +
    + About +

    Teaching · supervision · practice

    +

    Make complex systems learnable.

    +

    + I teach software engineering and agentic systems through short feedback loops: explain a + concept, build a small artifact, and test what it can actually do. +

    + +
    + +
    + +
    +
    + +

    Open course · Fall 2026

    +
    +
    +

    Agentic Software Engineering

    +

    + A practical course on designing, evaluating, and shipping software with coding agents. It + connects prompts and tools to the engineering disciplines that keep systems dependable. +

    +
    +
    +
    For
    +
    Software engineers, researchers, and advanced students
    +
    +
    +
    Topics
    +
    Agent loops, tool use, test design, evaluation, and reliability
    +
    +
    +
    Format
    +
    Notes, worked examples, and small experiments you can reproduce
    +
    +
    + Browse the course materials ↗ +
    +
    + +
    +
    +

    In the classroom

    +

    Build, inspect, revise.

    +

    + I use programming exercises and test failures as teaching material. The goal is to make + invisible assumptions visible, then give students a way to check them. +

    +
    +
    +

    For teams

    +

    Turn a demo into a method.

    +

    + Workshops help teams move from an exciting agent prototype to an evaluation loop with + clear evidence, useful baselines, and feedback they can repeat. +

    +
    +
    +

    For researchers

    +

    Make the claim testable.

    +

    + I supervise projects that connect a research question to an executable artifact, a strong + baseline, and an honest account of what the result does and does not show. +

    +
    +
    + +
    + +
    +

    PhD supervision

    +

    Research with a path to practice.

    +
    +

    Zhiqing Zhong

    -

    September 2023-present; my role: co-supervisor.

    +

    September 2023–present · co-supervisor

      -
    • Education: B.S., South China University of Technology
    • -
    • Publications: ICSE 2025, FSE 2026
    • -
    • Visits: Aalto University
    • +
    • B.S., South China University of Technology
    • +
    • Publications at ICSE 2025 and FSE 2026
    • +
    • Visiting researcher at Aalto University
    -
    -

    Teaching experience

    -

    Teaching assistantships at The Chinese University of Hong Kong, Shenzhen.

    -
      -
    • 2022-2023, semester 2: CSC4001, Software Engineering
    • - 2022-2023, semester 1: DDA6050, Analysis of Algorithms -
    • 2021-2022, semester 2: CSC4001, Software Engineering
    • - 2021-2022, semester 1: CSC1001, Introduction to Computer Science: Programming - Methodology +
    +
    + +
    +
    +

    Mentoring

    +

    Where my mentees went next.

    +

    + Eleven junior researchers and students I mentored on research projects; nine are now Ph.D. + students. +

    +
    +
      + { + mentees.map(([name, topic, now]) => ( +
    • + {menteeSites[name] ? {name} : name} + + {topic} + Now: {now} + +
    • + )) + } +
    +
    + +
    +
    +

    Teaching experience

    +

    Courses taught at CUHK–Shenzhen.

    +
    +
      +
    • CSC4001Software Engineering · 2022–23, semester 2
    • +
    • DDA6050Analysis of Algorithms · 2022–23, semester 1
    • +
    • CSC4001Software Engineering · 2021–22, semester 2
    • +
    • + CSC1001Introduction to Computer Science: Programming Methodology · 2021–22, semester 1
    -
    -
    +
    + +
    +

    Invite me in

    +

    Planning a course, reading group, or workshop?

    +

    Share the audience and the problem you want them to leave able to solve.

    + Get in touch ↗ +
    + + + + diff --git a/src/styles/global.css b/src/styles/global.css index 93eb4ce510a4..6c074256ca55 100644 --- a/src/styles/global.css +++ b/src/styles/global.css @@ -35,13 +35,32 @@ @layer base { :root { - --paper: #fff; - --ink: #243247; - --muted: #536176; - --blue: #2454c6; - --blue-dark: #153f9e; - --wash: #f3f6fa; - --line: #d8e0ea; + /* Blueberry, strawberry, buttercream, violet, and meringue. */ + --blueberry: #2c3f70; + --strawberry: #a5231c; + --strawberry-dark: #851c17; + --buttercream: #c8d4e5; + --violet: #8089d2; + --meringue: #e8ebed; + --paper: #fbfaf7; + --paper-raised: #ffffff; + --ink: #1c2644; + --muted: #4c5874; + --blue: var(--blueberry); + --blue-dark: #24345c; + --accent-light: var(--buttercream); + --accent-wash: #dde2f5; + --accent-soft: #edf0fa; + --accent-highlight: #d6dcf6; + --accent-shadow: #c4cbef; + --buttercream-soft: #f1f4fa; + --wash: #f5f7fa; + --line: var(--buttercream); + --line-strong: #a8b7d1; + --violet-rgb: 128, 137, 210; + --strawberry-rgb: 165, 35, 28; + --buttercream-rgb: 200, 212, 229; + --blueberry-rgb: 44, 63, 112; --serif: 'Source Serif 4', Georgia, serif; --sans: 'Source Sans 3', 'Noto Sans SC', sans-serif; } @@ -51,7 +70,7 @@ } body { font-family: var(--sans); - font-size: 18px; + font-size: 17px; line-height: 1.6; color: var(--ink); background: var(--paper); @@ -65,7 +84,7 @@ color: var(--blue-dark); } :focus-visible { - outline: 3px solid var(--blue); + outline: 3px solid var(--blue-dark); outline-offset: 5px; } h1, @@ -81,13 +100,13 @@ letter-spacing: -0.035em; } h1 { - font-size: clamp(2.8rem, 6.4vw, 5.2rem); + font-size: clamp(2.65rem, 5.8vw, 4.8rem); } h2 { - font-size: clamp(2rem, 3.6vw, 3rem); + font-size: clamp(1.9rem, 3.3vw, 2.8rem); } h3 { - font-size: 1.35rem; + font-size: 1.25rem; font-weight: 600; letter-spacing: -0.015em; } @@ -95,7 +114,7 @@ cursor: pointer; } ::selection { - background: #dce7ff; + background: var(--accent-light); color: var(--ink); } [hidden] { @@ -399,7 +418,7 @@ aspect-ratio: 4/4.6; object-fit: cover; object-position: center 30%; - background: var(--wash); + background: white; border-radius: 3px; } .portrait figcaption { @@ -574,7 +593,7 @@ font-size: 17px; } .draft-tag { - border: 1px solid #b2bfd3; + border: 1px solid var(--line-strong); padding: 1px 7px; color: var(--muted); font-size: 12px; @@ -664,9 +683,9 @@ .filter-bar select { min-height: 44px; padding: 8px 12px; - border: 1px solid #aab8cc; + border: 1px solid var(--line-strong); border-radius: 3px; - background: white; + background: var(--paper-raised); color: var(--ink); min-width: 0; width: 100%; @@ -901,8 +920,8 @@ } .preview-banner { padding: 7px 24px; - background: #eaf0ff; - color: #23458c; + background: var(--accent-wash); + color: var(--blueberry); text-align: center; font-size: 13px; } @@ -911,7 +930,7 @@ left: 20px; top: -100px; padding: 12px; - background: white; + background: var(--paper-raised); z-index: 10; } .skip-link:focus { @@ -990,8 +1009,9 @@ .site-header nav { width: 100%; margin: 0; - gap: 0; - justify-content: space-between; + gap: 3px 18px; + justify-content: flex-start; + flex-wrap: wrap; } .site-header nav a { font-size: 15px;