PageSourceSearch

https://thanhlc.net/research/

html thanhlc.net collected 2026-10-09 22:08:58 UTC 30,206 bytes, 2 lines download raw bytes

1<!DOCTYPE html><html lang="en" class="public_sans_68951cab-module__tOx8xW__variable ibm_plex_mono_68d1946a-module__Duze2q__variable source_serif_4_af0bac30-module__CyzZgW__variable h-full antialiased"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/68d403cf9f2c68c5-s.p.20at88_q9f_kt.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/99e609270109b47d-s.p.40sczeszzbjw1.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/effe91970fc4db64-s.p.0oace-s_gkfks.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/fa0520225c6f3d07-s.p.33u8lzvd44aqk.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/chunks/1-psmiss49fbt.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/33jtdm1y108jx.js"/>
1<script src="/_next/static/chunks/0paxexg6-m0de.js" async=""></script>
1<script src="/_next/static/chunks/3j9pm5otqxm82.js" async=""></script>
1<script src="/_next/static/chunks/0mr0fnckbkr54.js" async=""></script>
1<script src="/_next/static/chunks/turbopack-382mk3z8qc_he.js" async=""></script>
1<script src="/_next/static/chunks/30wtve9eud2ev.js" async=""></script>
1<script src="/_next/static/chunks/14mrh2-p_w84d.js" async=""></script>
1<script src="/_next/static/chunks/1iqox_uexlkim.js" async=""></script>
1<link rel="preload" href="https://cloud.umami.is/script.js" as="script"/><meta name="next-size-adjust" content=""/><title>Research | Thanh Le-Cong</title><meta name="description" content="Thanh Le-Cong is a tenure-track Assistant Professor at Singapore University of Technology and Design (SUTD), working at the intersection of software engineering, artificial intelligence, and cybersecurity."/><link rel="icon" href="/favicon.ico?favicon.2vob68tjqpejf.ico" sizes="256x256" type="image/x-icon"/>
1<script src="/_next/static/chunks/0cz1d0mv5g_q7.js" noModule=""></script>
1</head><body class="min-h-full flex flex-col"><div hidden=""><!--$--><!--/$--></div><a href="#main-content" class="sr-only focus:not-sr-only focus:fixed focus:top-4 focus:left-4 focus:z-[9999] focus:bg-primary focus:text-primary-foreground focus:px-3 focus:py-2 focus:rounded-md focus:text-sm focus:shadow-lg">Skip to content</a>
1<script>((a,b,c,d,e,f,g,h)=>{let i=document.documentElement,j=["light","dark"];function k(b){var c;(Array.isArray(a)?a:[a]).forEach(a=>{let c="class"===a,d=c&&f?e.map(a=>f[a]||a):e;c?(i.classList.remove(...d),i.classList.add(f&&f[b]?f[b]:b)):i.setAttribute(a,b)}),c=b,h&&j.includes(c)&&(i.style.colorScheme=c)}if(d)k(d);else try{let a=localStorage.getItem(b)||c,d=g&&"system"===a?window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":a;k(d)}catch(a){}})("class","theme","dark",null,["light","dark"],null,false,true)</script>
1<header class="border-b border-border sticky top-0 bg-background/95 backdrop-blur z-50"><div class="max-w-4xl mx-auto px-4 sm:px-6 flex items-center justify-between h-14"><a class="text-[17px] font-bold tracking-tight text-foreground hover:text-primary transition-colors truncate mr-4" style="font-family:var(--font-heading), Georgia, serif" href="/">Thanh Le-Cong</a><div class="hidden md:flex items-center gap-1 flex-shrink-0"><nav aria-label="Main navigation" class="flex gap-1"><a class="px-3 py-1.5 text-sm font-medium transition-colors relative text-muted-foreground hover:text-foreground" href="/">About</a><a class="px-3 py-1.5 text-sm font-medium transition-colors relative text-muted-foreground hover:text-foreground" href="/publications/">Publications</a><a aria-current="page" class="px-3 py-1.5 text-sm font-medium transition-colors relative text-primary after:absolute after:bottom-[-2px] after:left-2 after:right-2 after:h-0.5 after:bg-primary after:rounded-full" href="/research/">Research</a><a class="px-3 py-1.5 text-sm font-medium transition-colors relative text-muted-foreground hover:text-foreground" href="/experience/">Experience</a><a class="px-3 py-1.5 text-sm font-medium transition-colors relative text-muted-foreground hover:text-foreground" href="/join/">Openings</a><a class="px-3 py-1.5 text-sm font-medium transition-colors relative text-muted-foreground hover:text-foreground" href="/travel/">Travel</a></nav><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><div class="w-8 h-8"></div><!--/$--></div><div class="flex md:hidden items-center gap-2"><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><div class="w-8 h-8"></div><!--/$--><button aria-label="Open menu" aria-expanded="false" class="p-1.5 text-muted-foreground hover:text-foreground transition-colors"><svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="3" y1="6" x2="21" y2="6"></line><line x1="3" y1="12" x2="21" y2="12"></line><line x1="3" y1="18" x2="21" y2="18"></line></svg></button></div></div></header><main id="main-content" class="flex-1 max-w-4xl mx-auto w-full px-4 py-8 sm:px-6"><div class="space-y-12"><div class="flex flex-col gap-4"><h1 class="text-[clamp(1.875rem,4.6vw,2.5rem)] font-bold tracking-tight text-foreground">Research</h1><p class="max-w-[62ch] text-pretty text-[clamp(17px,2.1vw,20px)] leading-relaxed text-foreground/80">Software is too important to be unreliable or insecure. It underpins our digital world and increasingly controls physical systems. Yet software is increasingly being created and changed faster than people can review it, accelerated by AI-powered development. My research pursues two complementary goals: building intelligent tools that can automatically audit software, find and repair bugs and vulnerabilities, and establishing the methods needed to assure that these tools and the broader AI-enabled systems are reliable and secure.</p></div><section class="flex flex-col"><div class="flex flex-col gap-4 py-7 border-t border-border first:border-t-0"><div class="flex items-baseline gap-4"><span class="font-mono text-[12.5px] font-medium tracking-widest text-primary">01</span><h3 class="text-[clamp(1.375rem,2.8vw,1.6875rem)] font-bold tracking-tight leading-snug text-foreground" style="font-family:var(--font-heading), Georgia, serif">AI for Software Engineering</h3></div><div class="flex flex-wrap gap-x-12 gap-y-4 items-start"><p class="flex-1 min-w-[280px] text-pretty text-[15px] leading-relaxed text-muted-foreground">Software development is moving beyond what human review alone can keep pace with. We develop AI-enabled methods that audit code and software artifacts, identify defects and vulnerabilities, trace them to their causes, generate repairs, and validate that proposed fixes are correct. Our goal is to turn AI into a dependable engineering partner that helps developers build and maintain reliable, secure software at scale.</p><div class="flex-1 min-w-[320px] flex flex-col gap-1.5"><p class="eyebrow">Representative papers</p><a href="/pdfs/2026-patchguru-patch-oracle.pdf" class="flex flex-col gap-0.5 py-1.5 border-b border-border/70 text-foreground
1/85 hover:text-primary transition-colors"><span class="text-[13.5px] font-medium leading-snug">PatchGuru: Patch Oracle Inference from Natural Language Artifacts with Large Language Models</span><span class="font-mono text-[11px] text-muted-foreground">arXiv<!-- --> · <!-- -->2026</span></a><a href="/pdfs/2026-memory-efficient-llm-repair.pdf" class="flex flex-col gap-0.5 py-1.5 border-b border-border/70 text-foreground/85 hover:text-primary transition-colors"><span class="text-[13.5px] font-medium leading-snug">Memory-Efficient Large Language Models for Program Repair with Semantic-Guided Patch Generation</span><span class="font-mono text-[11px] text-muted-foreground">ICSE<!-- --> · <!-- -->2026</span></a><a href="/pdfs/2026-athena-emnlp.pdf" class="flex flex-col gap-0.5 py-1.5 border-b border-border/70 text-foreground/85 hover:text-primary transition-colors"><span class="text-[13.5px] font-medium leading-snug">Athena: Vulnerability-Affected Library Identification via Knowledge Graph Completion</span><span class="font-mono text-[11px] text-muted-foreground">EMNLP<!-- --> · <!-- -->2026</span></a></div></div></div><div class="flex flex-col gap-4 py-7 border-t border-border first:border-t-0"><div class="flex items-baseline gap-4"><span class="font-mono text-[12.5px] font-medium tracking-widest text-primary">02</span><h3 class="text-[clamp(1.375rem,2.8vw,1.6875rem)] font-bold tracking-tight leading-snug text-foreground" style="font-family:var(--font-heading), Georgia, serif">Assurance for AI-Enabled Software</h3></div><div class="flex flex-wrap gap-x-12 gap-y-4 items-start"><p class="flex-1 min-w-[280px] text-pretty text-[15px] leading-relaxed text-muted-foreground">AI is increasingly used both to create software and as a core component of software systems, from coding assistants to autonomous agents. Failures and vulnerabilities in these systems can propagate into generated code, automated decisions, and real-world actions. We develop rigorous evaluations, realistic benchmarks, and practical defences to understand these risks and improve the reliability and security of AI-assisted development and AI-powered software.</p><div class="flex-1 min-w-[320px] flex flex-col gap-1.5"><p class="eyebrow">Representative papers</p><a href="/pdfs/2026-code-backdoor-detection.pdf" class="flex flex-col gap-0.5 py-1.5 border-b border-border/70 text-foreground/85 hover:text-primary transition-colors"><span class="text-[13.5px] font-medium leading-snug">Optimizing Spectral Signature in Code Backdoor Detection</span><span class="font-mono text-[11px] text-muted-foreground">ICSME<!-- --> · <!-- -->2026</span></a><a href="/pdfs/2026-membership-inference-llm-code.pdf" class="flex flex-col gap-0.5 py-1.5 border-b border-border/70 text-foreground/85 hover:text-primary transition-colors"><span class="text-[13.5px] font-medium leading-snug">How Do Semantically Equivalent Code Transformations Impact Membership Inference on LLMs for Code?</span><span class="font-mono text-[11px] text-muted-foreground">ICSE<!-- --> · <!-- -->2026</span></a><a href="/pdfs/2025-llm-formal-spec-inference.pdf" class="flex flex-col gap-0.5 py-1.5 border-b border-border/70 text-foreground/85 hover:text-primary transition-colors"><span class="text-[13.5px] font-medium leading-snug">Can LLMs Reason About Program Semantics? A Comprehensive Evaluation of LLMs on Formal Specification Inference</span><span class="font-mono text-[11px] text-muted-foreground">ACL<!-- --> · <!-- -->2025</span></a></div></div></div></section></div><!--$--><!--/$--></main><footer class="border-t border-border mt-16 py-8"><div class="max-w-4xl mx-auto px-4 sm:px-6 flex flex-col sm:flex-row justify-between items-center gap-4 text-sm text-muted-foreground"><span>© <!-- -->2026<!-- --> <!-- -->Thanh Le-Cong</span><nav aria-label="Footer navigation" class="flex flex-wrap justify-center gap-x-5 gap-y-1"><a class="hover:text-foreground transition-colors" href="/publications/">Publications</a><a class="hover:text-foreground transition-colors" href="/research/">Research</a><a class="hover:text-foreground transition-colors" href="/experience/">Experience</a><a class="hover:text-foreground transition-colors" href="/join/">Openings</a><a class="hover:text-foreground transition-colors" href="/travel/">Travel</a><a href="/cdn-cgi/l/email-protection#5a3935343d2e323b343205363f1a292f2e3e743f3e2f74293d" class="hover:text-foreground transition-colors">Contact</a></nav></div><div class="max-w-4xl mx-auto px-4 sm:px-6 mt-3 text-center text-xs text-muted-foreground
1/65">Built with<!-- --> <a href="https://claude.ai/code" target="_blank" rel="noopener noreferrer" class="hover:text-muted-foreground transition-colors underline underline-offset-2">Claude Code</a> <!-- -->— an experiment in AI-assisted development.</div></footer>
vendor: 108 bytes, line 1
1<script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>
1<script src="/_next/static/chunks/33jtdm1y108jx.js" id="_R_" async=""></script>
1<script>(self.__next_f=self.__next_f||[]).push([0])</script>
1<script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[81064,[\"/_next/static/chunks/30wtve9eud2ev.js\",\"/_next/static/chunks/14mrh2-p_w84d.js\",\"/_next/static/chunks/1iqox_uexlkim.js\"],\"ThemeProvider\"]\n3:I[6809,[\"/_next/static/chunks/30wtve9eud2ev.js\",\"/_next/static/chunks/14mrh2-p_w84d.js\",\"/_next/static/chunks/1iqox_uexlkim.js\"],\"default\"]\n4:I[39756,[\"/_next/static/chunks/30wtve9eud2ev.js\",\"/_next/static/chunks/14mrh2-p_w84d.js\",\"/_next/static/chunks/1iqox_uexlkim.js\"],\"default\"]\n5:I[37457,[\"/_next/static/chunks/30wtve9eud2ev.js\",\"/_next/static/chunks/14mrh2-p_w84d.js\",\"/_next/static/chunks/1iqox_uexlkim.js\"],\"default\"]\n6:I[22016,[\"/_next/static/chunks/30wtve9eud2ev.js\",\"/_next/static/chunks/14mrh2-p_w84d.js\",\"/_next/static/chunks/1iqox_uexlkim.js\"],\"\"]\n7:I[79520,[\"/_next/static/chunks/30wtve9eud2ev.js\",\"/_next/static/chunks/14mrh2-p_w84d.js\",\"/_next/static/chunks/1iqox_uexlkim.js\"],\"\"]\nc:I[68027,[\"/_next/static/chunks/30wtve9eud2ev.js\",\"/_next/static/chunks/14mrh2-p_w84d.js\",\"/_next/static/chunks/1iqox_uexlkim.js\"],\"default\",1]\n:HL[\"/_next/static/chunks/1-psmiss49fbt.css\",\"style\"]\n:HL[\"/_next/static/media/68d403cf9f2c68c5-s.p.20at88_q9f_kt.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/99e609270109b47d-s.p.40sczeszzbjw1.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/effe91970fc4db64-s.p.0oace-s_gkfks.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/fa0520225c6f3d07-s.p.33u8lzvd44aqk.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n"])</script>
1<script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"research\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"research\",{\"children\":[\"__PAGE__\",{}]}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/1-psmiss49fbt.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/30wtve9eud2ev.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/14mrh2-p_w84d.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-2\",{\"src\":\"/_next/static/chunks/1iqox_uexlkim.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"suppressHydrationWarning\":true,\"className\":\"public_sans_68951cab-module__tOx8xW__variable ibm_plex_mono_68d1946a-module__Duze2q__variable source_serif_4_af0bac30-module__CyzZgW__variable h-full antialiased\",\"children\":[\"$\",\"body\",null,{\"className\":\"min-h-full flex flex-col\",\"children\":[[\"$\",\"a\",null,{\"href\":\"#main-content\",\"className\":\"sr-only focus:not-sr-only focus:fixed focus:top-4 focus:left-4 focus:z-[9999] focus:bg-primary focus:text-primary-foreground focus:px-3 focus:py-2 focus:rounded-md focus:text-sm focus:shadow-lg\",\"children\":\"Skip to content\"}],[\"$\",\"$L2\",null,{\"children\":[[\"$\",\"$L3\",null,{}],[\"$\",\"main\",null,{\"id\":\"main-content\",\"className\":\"flex-1 max-w-4xl mx-auto w-full px-4 py-8 sm:px-6\",\"children\":[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}],[\"$\",\"footer\",null,{\"className\":\"border-t border-border mt-16 py-8\",\"children\":[[\"$\",\"div\",null,{\"className\":\"max-w-4xl mx-auto px-4 sm:px-6 flex flex-col sm:flex-row justify-between items-center gap-4 text-sm text-muted-foreground\",\"children\":[[\"$\",\"span\",null,{\"children\":[\"© \",2026,\" \",\"Thanh Le-Cong\"]}],[\"$\",\"nav\",null,{\"aria-label\":\"Footer navigation\",\"className\":\"flex flex-wrap justify-center gap-x-5 gap-y-1\",\"children\":[[\"$\",\"$L6\",null,{\"href\":\"/publications\",\"className\":\"hover:text-foreground transition-colors\",\"children\":\"Publications\"}],[\"$\",\"$L6\",null,{\"href\":\"/research\",\"className\":\"hover:text-foreground transition-colors\",\"children\":\"Research\"}],[\"$\",\"$L6\",null,{\"href\":\"/experience\",\"className\":\"hover:text-foreground transition-colors\",\"children\":\"Experience\"}],[\"$\",\"$L6\",null,{\"href\":\"/join\",\"className\":\"hover:text-foreground transition-colors\",\"children\":\"Openings\"}],[\"$\",\"$L6\",null,{\"href\":\"/travel\",\"className\":\"hover:text-foreground transition-colors\",\"children\":\"Travel\"}],[\"$\",\"a\",null,{\"href\":\"mailto:[email protected]\",\"className\":\"hover:text-foreground transition-colors\",\"children\":\"Contact\"}]]}]]}],[\"$\",\"div\",null,{\"className\":\"max-w-4xl mx-auto px-4 sm:px-6 mt-3 text-center text-xs text-muted-foreground
1/65\",\"children\":[\"Built with\",\" \",[\"$\",\"a\",null,{\"href\":\"https://claude.ai/code\",\"target\":\"_blank\",\"rel\":\"noopener noreferrer\",\"className\":\"hover:text-muted-foreground transition-colors underline underline-offset-2\",\"children\":\"Claude Code\"}],\" \",\"— an experiment in AI-assisted development.\"]}]]}],[\"$\",\"$L7\",null,{\"src\":\"https://cloud.umami.is/script.js\",\"data-website-id\":\"4017db2e-d81f-48e3-a304-2d4fba9eded9\",\"strategy\":\"afterInteractive\"}]]}]]}]}]]}],{\"children\":[\"$L8\",{\"children\":[\"$L9\",{},null,false,null]},null,false,\"$@a\"]},null,false,null],\"$Lb\",false]],\"m\":\"$undefined\",\"G\":[\"$c\",[\"$Ld\"]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"azNJ8Du_QFDQEzsJ8siTC\"}\n"])</script>
1<script>self.__next_f.push([1,"12:I[97367,[\"/_next/static/chunks/30wtve9eud2ev.js\",\"/_next/static/chunks/14mrh2-p_w84d.js\",\"/_next/static/chunks/1iqox_uexlkim.js\"],\"ViewportBoundary\"]\n14:I[97367,[\"/_next/static/chunks/30wtve9eud2ev.js\",\"/_next/static/chunks/14mrh2-p_w84d.js\",\"/_next/static/chunks/1iqox_uexlkim.js\"],\"MetadataBoundary\"]\n15:\"$Sreact.suspense\"\n8:[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L4\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L5\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}]\n"])</script>
1<script>self.__next_f.push([1,"9:[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"div\",null,{\"className\":\"space-y-12\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex flex-col gap-4\",\"children\":[[\"$\",\"h1\",null,{\"className\":\"text-[clamp(1.875rem,4.6vw,2.5rem)] font-bold tracking-tight text-foreground\",\"children\":\"Research\"}],[\"$\",\"p\",null,{\"className\":\"max-w-[62ch] text-pretty text-[clamp(17px,2.1vw,20px)] leading-relaxed text-foreground/80\",\"children\":\"Software is too important to be unreliable or insecure. It underpins our digital world and increasingly controls physical systems. Yet software is increasingly being created and changed faster than people can review it, accelerated by AI-powered development. My research pursues two complementary goals: building intelligent tools that can automatically audit software, find and repair bugs and vulnerabilities, and establishing the methods needed to assure that these tools and the broader AI-enabled systems are reliable and secure.\"}]]}],[\"$\",\"section\",null,{\"className\":\"flex flex-col\",\"children\":[[\"$\",\"div\",\"ai-for-se-security\",{\"className\":\"flex flex-col gap-4 py-7 border-t border-border first:border-t-0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-baseline gap-4\",\"children\":[[\"$\",\"span\",null,{\"className\":\"font-mono text-[12.5px] font-medium tracking-widest text-primary\",\"children\":\"01\"}],[\"$\",\"h3\",null,{\"className\":\"text-[clamp(1.375rem,2.8vw,1.6875rem)] font-bold tracking-tight leading-snug text-foreground\",\"style\":{\"fontFamily\":\"var(--font-heading), Georgia, serif\"},\"children\":\"AI for Software Engineering\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-wrap gap-x-12 gap-y-4 items-start\",\"children\":[[\"$\",\"p\",null,{\"className\":\"flex-1 min-w-[280px] text-pretty text-[15px] leading-relaxed text-muted-foreground\",\"children\":\"Software development is moving beyond what human review alone can keep pace with. We develop AI-enabled methods that audit code and software artifacts, identify defects and vulnerabilities, trace them to their causes, generate repairs, and validate that proposed fixes are correct. Our goal is to turn AI into a dependable engineering partner that helps developers build and maintain reliable, secure software at scale.\"}],[\"$\",\"div\",null,{\"className\":\"flex-1 min-w-[320px] flex flex-col gap-1.5\",\"children\":[[\"$\",\"p\",null,{\"className\":\"eyebrow\",\"children\":\"Representative papers\"}],[[\"$\",\"a\",\"2026-patchguru-patch-oracle\",{\"href\":\"/pdfs/2026-patchguru-patch-oracle.pdf\",\"target\":\"$undefined\",\"rel\":\"$undefined\",\"className\":\"flex flex-col gap-0.5 py-1.5 border-b border-border/70 text-foreground/85 hover:text-primary transition-colors\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[13.5px] font-medium leading-snug\",\"children\":\"PatchGuru: Patch Oracle Inference from Natural Language Artifacts with Large Language Models\"}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[11px] text-muted-foreground\",\"children\":[\"arXiv\",\" · \",2026]}]]}],[\"$\",\"a\",\"2026-memory-efficient-llm-repair\",{\"href\":\"/pdfs/2026-memory-efficient-llm-repair.pdf\",\"target\":\"$undefined\",\"rel\":\"$undefined\",\"className\":\"flex flex-col gap-0.5 py-1.5 border-b border-border/70 text-foreground/85 hover:text-primary transition-colors\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[13.5px] font-medium leading-snug\",\"children\":\"Memory-Efficient Large Language Models for Program Repair with Semantic-Guided Patch Generation\"}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[11px] text-muted-foreground\",\"children\":[\"ICSE\",\" · \",2026]}]]}],[\"$\",\"a\",\"2026-athena-vulnerability-library-identification\",{\"href\":\"/pdfs/2026-athena-emnlp.pdf\",\"target\":\"$undefined\",\"rel\":\"$undefined\",\"className\":\"flex flex-col gap-0.5 py-1.5 border-b border-border/70 text-foreground/85 hover:text-primary transition-colors\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[13.5px] font-medium leading-snug\",\"children\":\"Athena: Vulnerability-Affected Library Identification via Knowledge Graph Completion\"}],\"$Le\"]}]]]}]]}]]}],\"$Lf\"]}]]}],null,\"$L10\"]}]\n"])</script>
1<script>self.__next_f.push([1,"11:[]\na:\"$W11\"\nb:[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L12\",null,{\"children\":\"$L13\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L14\",null,{\"children\":[\"$\",\"$15\",null,{\"name\":\"Next.Metadata\",\"children\":\"$L16\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}]\nd:[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/chunks/1-psmiss49fbt.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]\n"])</script>
1<script>self.__next_f.push([1,"17:I[97367,[\"/_next/static/chunks/30wtve9eud2ev.js\",\"/_next/static/chunks/14mrh2-p_w84d.js\",\"/_next/static/chunks/1iqox_uexlkim.js\"],\"OutletBoundary\"]\ne:[\"$\",\"span\",null,{\"className\":\"font-mono text-[11px] text-muted-foreground\",\"children\":[\"EMNLP\",\" · \",2026]}]\n"])</script>
1<script>self.__next_f.push([1,"f:[\"$\",\"div\",\"assurance-ai-software\",{\"className\":\"flex flex-col gap-4 py-7 border-t border-border first:border-t-0\",\"children\":[[\"$\",\"div\",null,{\"className\":\"flex items-baseline gap-4\",\"children\":[[\"$\",\"span\",null,{\"className\":\"font-mono text-[12.5px] font-medium tracking-widest text-primary\",\"children\":\"02\"}],[\"$\",\"h3\",null,{\"className\":\"text-[clamp(1.375rem,2.8vw,1.6875rem)] font-bold tracking-tight leading-snug text-foreground\",\"style\":{\"fontFamily\":\"var(--font-heading), Georgia, serif\"},\"children\":\"Assurance for AI-Enabled Software\"}]]}],[\"$\",\"div\",null,{\"className\":\"flex flex-wrap gap-x-12 gap-y-4 items-start\",\"children\":[[\"$\",\"p\",null,{\"className\":\"flex-1 min-w-[280px] text-pretty text-[15px] leading-relaxed text-muted-foreground\",\"children\":\"AI is increasingly used both to create software and as a core component of software systems, from coding assistants to autonomous agents. Failures and vulnerabilities in these systems can propagate into generated code, automated decisions, and real-world actions. We develop rigorous evaluations, realistic benchmarks, and practical defences to understand these risks and improve the reliability and security of AI-assisted development and AI-powered software.\"}],[\"$\",\"div\",null,{\"className\":\"flex-1 min-w-[320px] flex flex-col gap-1.5\",\"children\":[[\"$\",\"p\",null,{\"className\":\"eyebrow\",\"children\":\"Representative papers\"}],[[\"$\",\"a\",\"2026-code-backdoor-detection\",{\"href\":\"/pdfs/2026-code-backdoor-detection.pdf\",\"target\":\"$undefined\",\"rel\":\"$undefined\",\"className\":\"flex flex-col gap-0.5 py-1.5 border-b border-border/70 text-foreground/85 hover:text-primary transition-colors\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[13.5px] font-medium leading-snug\",\"children\":\"Optimizing Spectral Signature in Code Backdoor Detection\"}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[11px] text-muted-foreground\",\"children\":[\"ICSME\",\" · \",2026]}]]}],[\"$\",\"a\",\"2026-membership-inference-llm-code\",{\"href\":\"/pdfs/2026-membership-inference-llm-code.pdf\",\"target\":\"$undefined\",\"rel\":\"$undefined\",\"className\":\"flex flex-col gap-0.5 py-1.5 border-b border-border/70 text-foreground/85 hover:text-primary transition-colors\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[13.5px] font-medium leading-snug\",\"children\":\"How Do Semantically Equivalent Code Transformations Impact Membership Inference on LLMs for Code?\"}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[11px] text-muted-foreground\",\"children\":[\"ICSE\",\" · \",2026]}]]}],[\"$\",\"a\",\"2025-llm-formal-spec-inference\",{\"href\":\"/pdfs/2025-llm-formal-spec-inference.pdf\",\"target\":\"$undefined\",\"rel\":\"$undefined\",\"className\":\"flex flex-col gap-0.5 py-1.5 border-b border-border/70 text-foreground/85 hover:text-primary transition-colors\",\"children\":[[\"$\",\"span\",null,{\"className\":\"text-[13.5px] font-medium leading-snug\",\"children\":\"Can LLMs Reason About Program Semantics? A Comprehensive Evaluation of LLMs on Formal Specification Inference\"}],[\"$\",\"span\",null,{\"className\":\"font-mono text-[11px] text-muted-foreground\",\"children\":[\"ACL\",\" · \",2025]}]]}]]]}]]}]]}]\n"])</script>
1<script>self.__next_f.push([1,"10:[\"$\",\"$L17\",null,{\"children\":[\"$\",\"$15\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@18\"}]}]\n"])</script>
1<script>self.__next_f.push([1,"13:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script>
1<script>self.__next_f.push([1,"19:I[27201,[\"/_next/static/chunks/30wtve9eud2ev.js\",\"/_next/static/chunks/14mrh2-p_w84d.js\",\"/_next/static/chunks/1iqox_uexlkim.js\"],\"IconMark\"]\n16:[[\"$\",\"title\",\"0\",{\"children\":\"Research | Thanh Le-Cong\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"Thanh Le-Cong is a tenure-track Assistant Professor at Singapore University of Technology and Design (SUTD), working at the intersection of software engineering, artificial intelligence, and cybersecurity.\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?favicon.2vob68tjqpejf.ico\",\"sizes\":\"256x256\",\"type\":\"image/x-icon\"}],[\"$\",\"$L19\",\"3\",{}]]\n18:null\n"])</script>
1<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v4bc70e2c01a94c73b74392e4234840661791215815920" integrity="sha512-L0ha0OXavK/8okipN9F8BtP84dg9DUhPERbBXzwI6dgTA55d2+yweo3pn5CSFYs45/r8md2+xvUPtTdvTNRfjA==" data-cf-beacon='{"version":"2024.11.0","token":"c0b9b769017a418bb6d9867ea3c533ca","r":1,"spa":2}' crossorigin="anonymous"></script>
1
2</body></html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.