我成功晋升为北京大学长聘教授。感谢一路走来帮助过我的同学、老师、同行!
新闻
122 条记录
Mining Tactics for Automated Theorem Proving被ASE 2026接收。这是我们新项目的第一篇论文,该项目用大模型的智能来提升符号证明工具的能力。我们相信,与大模型相比,符号方法更适合处理符号问题,但迄今为止投入的人类智能还不足以发现最合适的符号方法,因此我们利用大模型来继续开发。通过数据驱动的大模型策略生成,我们的方法仅用一个小型训练集就将CoqHammer提升了20%以上。
SemOpt: LLM-Driven Code Optimization via Rule-Based Analysis被TOSEM 2026接收。本文中,我们使用大语言模型从历史提交中挖掘优化策略,并将其形式化为semgrep规则,进而利用这些规则在大型软件项目中挖掘优化机会来引导大语言模型进行优化。我们成功优化了多个经过人类专家多年优化的热门软件项目,其中部分生成的补丁已被开发者采纳。
Reducing Cost of LLM Agents with Trajectory Reduction被FSE 2026录用。本文提出了首个降低大模型智能体对话长度的通用方法,通过去除推理轨迹中不必要的内容并保留智能体的推理能力来降低使用成本。
Accelerating Syntax-Guided Program Synthesis by Optimizing Domain-Specific Languages被POPL 2026录用。本文提出了一种方法来自动优化编程语言设计以加速特定领域中的程序合成。
两篇论文被ICSE 2026接收。PredicateFix: Repairing Static Analysis Alerts with Bridging Predicates提出了一个修复静态分析警报的方法,该方法基于静态分析规则获取样例来辅助LLM进行修复。该方法已在中兴部署,并获得开发人员的积极反馈。HoarePrompt: Structural Reasoning About Program Correctness in Natural Language提出了一种可以面向自然语言规约分析程序的方法,该方法采用一个大模型作为引擎不断计算自然语言描述的最强后条件,成功结合大模型的自然语言推理能力和传统程序分析方法。
我们升级了我们的概率缺陷定位方法Fault Localization via Efficient Probabilistic Modeling of Program Semantics,升级版本包括一个新的通用概率推断算法和一系列增强可伸缩性的技术。SmartFL不需要训练,不管效果还是效率均超过了现有的不需要训练的技术(如SBFL和MBFL),在Defects4J的行级定位上达到了最好的效果。我们新录用的SmartFL: Semantics Based Probabilistic Fault Localization描述了SmartFL整体方法,而Belief Propagation with Local Structure and Its Applications in Program Analysis描述了我们新的概率推断算法。
Tunneling Through the Hill: Multi-Way Intersection for Version-Space Algebras in Program Synthesis被OOPSLA录用。求交是基于VSA的程序合成中的基本操作,本文提出了一种高效地进行交集运算的新方法,可以显著提升基于VSA的程序合成的效率。
通过和字节的合作项目,我们提出一种智能体推理过程摘要技术,为目前SWE-Bench Verified中表现最好代码智能体Trae Agent: An LLM-based Agent for Software Engineering with Test-time Scaling做出了贡献。
Grammar-Based Code Representation: Is It a Worthy Pursuit for LLMs?被ACL录用为Finding论文。我们系统性的验证了我们基于文法的代码表示在大模型上是否仍然有效,结果表示虽然大模型很少犯语法错误,但文法表示仍然可以显著提升效果,因为文法表示和代码语义有更好的对应。
因在程序修复和合成领域的贡献,我被选为ACM杰出会员。
我被选为IFIP WG2.4, 软件实施技术工作组的成员。
我们发布了一个算法合成数据集ASAC。该数据集主要包括全国信息学奥赛的题目。同现有数据集相比,该数据集不仅难度更大,更重要的是对于每个问题我们都提供了形式化规约,使得我们可以采用逻辑方法来合成和验证解决方案。对应ASAC: A Benchmark for Algorithm Synthesis将会发表在下月的FSE'24工具演示分会。
Proving Functional Program Equivalence via Directed Lemma Synthesis被FM'24接收。该研究源于我们算法合成工具合成的程序太复杂,现有的求解器无法直接验证正确性。进一步研究发现,验证的关键是找到合适的引理来引导归纳证明,而查找引理的过程又是一个程序合成问题。于是我们的算法合成工具可以用来验证自己合成程序的正确性。实验表明验证速度比目前最好的验证工具CVC4-Ind快21倍。
Superfusion: Eliminating Intermediate Data Structures via Inductive Synthesis被PLDI'24接收。该论文将我们之前的Decomposition-Based Synthesis for Applying D&C-Like Algorithmic Paradigms方法泛化为超融合(Superfusion)方法。超融合通过自动消除中间数据结构来优化程序,是对函数式程序设计中常用的融合(fusion)技术的自动化。基于超融合方法实现的青方系统,不仅在分治类算法的合成上达到了AutoLifter的效果,并且在融合问题和结构递归程序合成问题上大幅超越了已有工作。
我们的The ET Program Repair Tool for Java在首届国际程序修复大赛参加人数最多的Java功能性缺陷赛道中获得第一名。ET由我们之前提出的两项方法构成:补丁验证方法Accelerating Patch Validation for Program Repair with Interception-Based Execution Scheduling和补丁生成方法Tare: Type-Aware Neural Program Repair。ET在没有生成任何错误补丁的情况下成功修复6个缺陷,超过了主办发直接调用ChatGPT的基线方法,也超过了其他所有参赛工具。
Accelerating Patch Validation for Program Repair with Interception-Based Execution Scheduling被IEEE Transactions on Software Engineering接收。该论文介绍了我们的高效补丁验证工具ExpressAPR: Efficient Patch Validation for Java Automated Program Repair Systems背后的技术。ExpressAPR比直接编译测试验证快137.1倍,比目前最快的验证平台UniAPR快8.8倍。希望该工具能帮助未来的缺陷修复的研究和开发。
通过和深度求索公司(幻方AI的子公司)合作,我的博士生朱琪豪领导了目前最好的面向代码开源基座大模型——DeepSeek-Coder的开发。我们已有研究中的一些思路帮助了模型效果提升,比如组织相关信息来帮助模型学习程序设计语言中的规则。我们刚刚发布了一个DeepSeek-Coder: When the Large Language Model Meets Programming - The Rise of Code Intelligence来介绍训练的技术细节。朱琪豪将于今年6月毕业,期待各家单位赐工作机会。
Decomposition-Based Synthesis for Applying D&C-Like Algorithmic Paradigms被TOPLAS接收。这是我们算法合成项目正式发表的第二篇论文(第一篇是Synthesizing Efficient Memoization Algorithms),尽管实际完成得更早一些。这篇论文识别出分治、增量算法、线段树等多个算法类别都有相似的结构,并提出了一个统一的合成方法来自动合成这些算法。实验中求解出的问题是已有的通用算法的两倍,甚至比之前半自动分治合成方法更优。
GrammarT5: Grammar-Integrated Pretrained Encoder-Decoder Neural Model for Code被ICSE'24接收. 这篇文章将我们一直在研究的基于文法的解码技术(L2S: a Framework for Synthesizing the Most Probable Program under a Specification、TreeGen: A Tree-Based Transformer Architecture for Code Generation等)应用到预训练模型上,所产生的预训练模型显著超越了同规模最好的CodeT5模型。
A Probabilistic Delta Debugging Approach for Abstract Syntax Trees被ISSRE'23接收。这是我们Probabilistic Delta Debugging的后续工作,为抽象语法树构建了概率模型,可以对于程序设计语言等上下文无关语言实现更高效的差异调试。
两篇论文被ASE'23的研究和工具展示分会接收. ExpressAPR: Efficient Patch Validation for Java Automated Program Repair Systems是一篇工具展示论文,介绍了我们的补丁验证新工具。该工具集成了五种技术来减少编译和测试执行的开销,比直接编译测试验证快100倍,比目前最快的验证平台UniAPR快10倍。希望该工具能帮助未来的缺陷修复的研究和开发。 OrdinalFix: Fixing Compilation Errors via Shortest-Path CFL Reachability with Attribute Checking提出了一种新的CFL可达性算法来计算编译错误的最小修复。
Synthesizing Efficient Memoization Algorithms被OOPSLA'23接收。这是我们三年前启动的算法合成项目发表的第一篇论文,这也是我们现在的主力项目。给定一个形式化规约,算法合成试图应用算法领域提出的算法设计模式(如分治、动态规划等)来合成高效程序满足规约。这篇论文关注动态规划算法的合成。另外一篇分治和类似算法的合成工作已经完成, 可以在arxiv访问。
“数据驱动的软件测试与修复”获得电子学会自然科学一等奖。我是该项目的第一完成人。这是近三年软件领域唯一获得电子学会自然科学一等奖的项目。
Improving Oracle-Guided Inductive Synthesis by Efficient Question Selection被OOPSLA'23接收。该论文提出了一种新的近似模型,可以在OGIS程序合成中高效选择最优询问,在交互式和非交互式场景下均能提升OGIS程序合成方法的表现。这是我们Question Selection for Interactive Program Synthesis的后续工作。
两篇论文被ICSE23接收。 Tare: Type-Aware Neural Program Repair描述了一种引导神经网络学习类型规则的方法,基于该方法,我们构建了新的程序修复方法,显著超越了现有方法。Reliability Assurance for Deep Neural Network Architectures Against Numerical Defects是我们Detecting Numerical Bugs in Neural Network Architectures的后续工作,不仅改进了之前工作中对神经网络体系结构的缺陷查找效果,并且能生成测试验证缺陷并建议修复。
Toward Actionable Testing of Deep Learning Models被《中国科学:信息科学》英文版接收。这是一篇观点论文,呼吁未来的深度学习测试方法能更多地指导系统改进。
Efficient Synthesis of Method Call Sequences for Test Generation and Bounded Verification被ASE'22接收。该论文提出了一种新的程序合成算法,通过枚举可达堆结构来合成单元测试。
两篇论文被IJCAI 2022接收. Grape: Grammar Preserving Rule Embedding是一个关于语法规则的嵌入技术。类似Word2Vec用神经网络嵌入单词,我们的技术用神经网络嵌入语法规则的编号,可以用于其他依赖语法的下游深度学习应用中,比如程序生成。不同于Word2Vec,我们的技术将语法规则的定义考虑在内,嵌入规则的结构和内容信息。 Lyra: A Benchmark for Turducken-Style Code Generation提出了一个新的程序生成任务和数据集:同时生成包含两种不同程序设计语言代码的程序。
之前我在中国软件大会上做了算法合成报告以及在CCF ADL上做了程序合成讲座,这两个视频现在可以在CCF数字图书馆观看,链接详见特邀报告页面。
三篇论文被ICSE 2022和AAAI 2022接收。 Fault Localization via Efficient Probabilistic Modeling of Program Semantics是我们采用概率图模型来捕获程序语义来重新构建错误定位方法的首次尝试。Preferential Labeling for Unattributed Node Classification in GNNs关心当分类任务应该不依赖于变量的具体命名时(如SAT),如何在图神经网络中表示程序。Improving Machine Translation Systems via Isotopic Replacement是一个机器翻译的测试和修复方法。
L2S: a Framework for Synthesizing the Most Probable Program under a Specification被TOSEM接收。本文提出了玲珑框架。该框架采用概率指导程序合成,其思想是我们很多其他工作的基础。这项研究最早于2016年底以泛化和扩展Precise Condition Synthesis for Program Repair工作为目标启动。2018年我们把初步想法和实验结果发表为一篇Learning to Synthesize。最终,在经过了接近5年的工作之后,在我多个特邀报告和主题演讲介绍玲珑框架之后,在多篇基于玲珑框架思想的其他论文发表之后,我们终于发表了完整版玲珑框架论文。完整论文不算附录长达44页。
Interactive Patch Filtering as Debugging Aid被评为IEEE TCSE杰出论文。感谢评委的认可。
我获得了CCF-IEEE CS青年科学家奖。该奖每年颁发给不超过5名40岁以下的中国计算机科学家。感谢提名者和评奖委员会的认可!
我们发表在MODELS 2011的论文From State- to Delta-based Bidirectional Model Transformations: the Symmetric Case被授予MODELS 2021最有影响论文奖。感谢评委会的认可!
Generalizable Synthesis Through Unification被OOPSLA'21接收. 在本文中,我们将机器学习领域的奥卡姆学习理论和程序合成结合起来,在合并学习框架的基础上构建了第一个奥卡姆程序合成求解器,从理论上保证了程序合成的可泛化性。
我获得了第二个ESEC/FSE杰出审稿人奖。感谢评选委员会的认可。
Faster Mutation Analysis with Fewer Processes and Smaller Overheads被ASE'21接收. 这是我们Faster Mutation Analysis via Equivalence Modulo States论文的后续工作,进一步提升了变异分析的效率。变异分析的效率是很多应用问题的效率关键,比如变异测试和补丁验证。
Probabilistic Delta Debugging被评为ACM SIGSOFT杰出论文。感谢评委的认可。
Interactive Patch Filtering as Debugging Aid被ICSME'21接收. 之前工作一直认为修复工具如果不能达到很高的正确率是没用的,这篇工作通过200轮人工调试的实验证明了,如果在程序员复查补丁的时候给予适当的交互式工具辅助,正确率低的修复工具也能帮助程序员,从而为未来修复研究的发展带来了全新空间,比如在无需担心正确率的情况下进一步提升召回率。该论文是我们Question Selection for Interactive Program Synthesis论文的后续工作。
两篇论文被ESEC/FSE'21接收。Probabilistic Delta Debugging提出了首个基于概率建模的差异化调试方法,效果显著超越经典ddmin方法。A Syntax-Guided Edit Decoder for Neural Program Repair提出了首个效果超越传统方法的神经网络程序修复方法。
我获得了NASAC青年软件创新奖和ESEC/FSE 2020的杰出审稿人称号。感谢同行的提名和评审委员会的认可。
Guiding Dynamic Programming via Structural Probability for Accelerating Programming by Example被OOPSLA'20接收。该工作是我们Learning to Synthesize的后续工作,通过用概率指导Flashfill风格的动态规划程序合成,提速达到4-2000倍。
Detecting Numerical Bugs in Neural Network Architectures被评为ESEC/FSE'20的ACM SIGSOFT杰出论文。感谢评委的认可。
我被评选为ICSE 2020杰出审稿人。感谢帮忙审稿的同学们,感谢评委的认可。
Detecting Numerical Bugs in Neural Network Architectures被ESEC/FSE'20接收. 这是我们在分析神经网络程序缺陷上的第二篇论文,是An Empirical Study on TensorFlow Program Bugs上发表的实证研究工作的后续。
Question Selection for Interactive Program Synthesis was accepted at PLDI'20. Unlike most existing research studies how computers answer questions from pepople, this paper studies how computers ask questions to people for program synthesis. This is the second paper in our new project on interactive program synthesis/repair, following the How to Explain a Patch: An Empirical Study of Patch Explanations in Open Source Projects paper.
TreeGen: A Tree-Based Transformer Architecture for Code Generation has been accepted as an oral paper at AAAI'20. This paper proposes a novel transformaer architecture for code generation, which outperforms our A Grammar-Based Structural CNN Decoder for Code Generation paper, the current state-of-the-art.
Detecting Floating-Point Errors via Atomic Conditions has been accepted at POPL'20. This is a follow-up work of our A Genetic Algorithm for Detecting Significant Floating-Point Inaccuracies paper to quickly find the inputs that lead to large floating-point errors.
Our ASE paper History-Guided Configuration Diversification for Compiler Test-Program Generation was awarded ACM SIGSOFT Distinguished Paper Award.
Our paper A Survey of Compiler Testing was accepted at ACM Computing Surveys.
I have received the early career award from NSFC. This is a Chinese version of the NSF career award in US, but is only given to researchers under the age of 38 and is very competitive. Among all researchers who mainly work in software engineering in China, only Dan Hao and He Jiang have received this award before.
Three papers were accepted at ASE'19. Inferring Program Transformations From Singular Examples via Big Code solves the small-sample learning problem for program transformation inference: with the help of big code, we infer a program transformation from only one example. This technique is useful in many domains such as program repair. History-Guided Configuration Diversification for Compiler Test-Program Generation is a follow-up work of our Learning to Prioritize Test Programs for Compiler Testing paper, using historical information to directly guide the generation of test programs. Combining Spectrum-Based Fault Localization and Statistical Debugging: An Empirical Study is the first empirical study that bridges two main families of fault localization: spectrum-based fault localization and statistical debugging.
Three forward-looking papers on program repair were accepted. Automated Program Repair: A Step towards Software Automation is an invited paper for discussing the future of program repair. A Manual Inspection Of Defects4j Bugs And Its Implications For Automatic Program Repair is an empirical study on possible strategies that could potentially be adopted by program repair techniques. How to Explain a Patch: An Empirical Study of Patch Explanations in Open Source Projects explores how a patch should be communicated to developers by studying how human performs the task.
I will give a keynote speech at IBF 2019 on Feb 24th, 2019 and give a lecture at ISSTA Summer School on July 16th, 2019.
Two papers were accepted at IEEE Transactions on Software Engineering. An Empirical Study of Fault Localization Families and Their Combinations provides an infrastructure for combining and evaluating fault localization techniques, in the hope to support future fault localization research. Coverage Prediction for Accelerating Compiler Testing combines coverage prediction with learning-to-test to further accelerate compiler testing.
Our paper A Grammar-Based Structural CNN Decoder for Code Generation was accepted at AAAI'19. This paper proposes a novel CNN neural structure for code generation and can be used to instantiate the framework of Learning to Synthesize.
I have been promoted to Associated Professor (with tenure). Thanks for all people who helped in this process.
Automatic Clone Recommendation for Refactoring Based on the Present and the Past was accepted at ICSME'18.
Two papers were accepted at ISSTA'18. Shaping Program Repair Space with Existing Patches and Similar Code reports our newest attempt to increase the recall of program repair after our previous attempts (Identifying Patch Correctness in Test-Based Program Repair, Precise Condition Synthesis for Program Repair) to increase the precision. An Empirical Study on TensorFlow Program Bugs is our first step to understand and support testing and debugging in deeping learning applications.
Learning to Synthesize was accepted at GI'18. This paper proposes a framework for synthesizing a program that has a high probability in a given context.
Two papers were accepted at ICSE'18. Identifying Patch Correctness in Test-Based Program Repair utilizes two new heuristic rules to identify the correctness of generated patches. Identifying Features in Forks studies the problem of understanding forks and provides an overview of features in a fork.
Our ISSTA'17 paper Faster Mutation Analysis via Equivalence Modulo States was awarded ACM Distinguished Paper Award.
Faster Mutation Analysis via Equivalence Modulo States was accepted at ISSTA'17. Many program analysis tasks require to execute many similar versions of a program, including but not limited to mutation testing, generate-and-validate program repair, mutation-based fault localization, and product line testing. Our approach accelerates these analyses by sharing the redundant executions.
Conditional Dyck-CFL Reachability Analysis for Complete and Efficient Library Summarization was accepted at ESOP'17. In this paper we propose conditional reachability summarization to enable library summarization for Dyck-CFL reachability problems, a large class of program analysis problems.
Precise Condition Synthesis for Program Repair was accepted at ICSE'17. Following our previous attempt in our Fixing Recurring Crash Bugs via Analyzing Q&A Sites to increase the precision of defect repair (less incorrect patches), in this paper we try to generate precise patches for a more general category of defects: incorrect conditions.
Learning to Prioritize Test Programs for Compiler Testing was accepted at ICSE'17. In this paper we propose the idea of "learning to test" that applies learning techniques to accelerate compiler testing.
Detecting and Fixing Precision-Specific Operations for Measuring Floating-Point Errors was accepted at FSE'16. Precision tuning is widely used in many applications. In this paper we identified a type of code where raising precision may lead to less accurate result.
We have discovered a mistake in the data presentation of our ICST paper "Empirical Evaluation of Test Coverage for Functional Programs". Unfortuately, it is already too late to update the camera-ready version, so please download the corrected version here. Compared with the published version, Figure 3 and Table II are updated, while all discussions and conclusions are the same.
PATL paper, Transforming programs between APIs with Many-to-Many Mappings, has been accepted at ECOOP'16. A full version will be uploaded soon.
Transforming programs between APIs with Many-to-Many Mappings, PATL, was conditionally accepted at ECOOP'16. PATL handles program transformation with many-to-many mappings with the idea of guided normalization. This completes our previous work on SWIN: Towards Type-Safe Java Program Adaptation between APIs.
Our Empirical Evaluation of Test Coverage for Functional Programs has been accepted at ICST'16. The paper presents the first empirical study on test coverage of functional programs.
Recently we started a new project on compiler testing. The An Empirical Comparison of Compiler Testing Techniques presents an empirical comparison of the mainstream compiler testing techniques, where we used a new method to measure test effectiveness to make the comparison possible. The Test Case Prioritization for Compilers: a Text-Vector Based Approach presents a low-cost test prioritization approach that has the potential of accelerating compiler testing, even for the non-regressional cases.
As a member of a big team on software-defined cloud management, I received the the First-Class Award on Scientific and Technological Progress, Ministry of Education, one of the most pretigeous award from Ministry fo Education, China.
Fixing Recurring Crash Bugs via Analyzing Q&A Sites was accepted at ASE'15. Within our knowledge, this is the first paper that leverages Internet resources to fix bugs. Our approach achieved high accuracy in producing correct patches, successfully avoiding the over-fitting problem in automatic bug repair.
Inner Oracles: Input-Specific Assertions on Internal States was accepted at the new idea track of ESEC/FSE'15. In this paper, we propose the novel concept of inner oracle, which asserts the inner state of one test case. We believe inner oracles are useful in many testing scenarios.
Our paper Range Fixes: Interactive Error Resolution for Software Configuration was featured on the homepage of IEEE Transactions on Software Engineering.
Our paper SWIN: Towards Type-Safe Java Program Adaptation between APIs was invited to a journal submission as one of the best papers at PEPM'15.
Two papers were accepted at ICSE'15. Safe Memory-Leak Fixing for C Programs uses a series of dataflow analyses to fix memory leaks automatically in C programs. A Genetic Algorithm for Detecting Significant Floating-Point Inaccuracies leverages FPDebug to automatically locate input that leads to large inaccuracies in floating-point programs. Both are nice pieces of work and I am proud of the students who produced them.
Range Fixes: Interactive Error Resolution for Software Configuration was accepted at IEEE Transactions on Software Engineering. This paper extends our previous Generating Range Fixes for Software Configuration with a new property on the minimality of fix units, a simplified algorithm, and new experiments on Linux.
Our paper about SWIN: Towards Type-Safe Java Program Adaptation between APIs is accepted at PEPM'15. This is our first step towards creating a transformation language for adapting programs between different APIs, following our How Does Web Service API Evolution Affect Clients?.
Recently I started to work on problems in testing and debugging of general programs, and here are two new papers. The Boosting Bug-Report-Oriented Fault Localization with Segmentation and Stack-Trace Analysis is about the automatic association of bug reports to source files, reporting two new heuristics to improve the accuracy of existing techniques. The Search-Based Inference of Polynomial Metamorphic Relations reports the first approach to automatically inferring metamorphic relations from programs.
Our project proposal on improving the quality of safety-critical software system has been approved. This five year project is supported by the young scientist fund under the national basic research program, and I am the principal investigator. The young scientist fund under the national basic research program is one of the most competitive fund for young scientists in China. Every year only 1~3 projects are granted in the area of computer science. Our project is the first one in the area of software development.
Our SmartFixer: Fixing Software Configurations based on Self-adaptive Priorities about priority-based fixing was accepted at SPLC 2013. This work enhances our ICSE'12 work about Generating Range Fixes for Software Configuration, reducing the number of options presented to the user by inferring implicit priorities from user interactions.
Our How Does Web Service API Evolution Affect Clients? on web API evolution was accepted at ICWS 2013. This is the first step of our new project on web API evolution, which, hopefully, will eventually make it easier to migrate clients for API update.
Model Synchronization Based on Triple Graph Grammars: Correctness, Completeness and Invertibility was accepted at SoSyM. This paper is the extended version of our Correctness of Model Synchronization Based on Triple Graph Grammars, which was selected as one of the best papers at MODELS'11 and we were invited to this submission.
Inferring the Data Access from the Clients of Generic APIs was accepted at ICSM'12. This paper enhanced our Inferring Meta-Models for Runtime System Data from the Clients of Management APIs work to infer code snippets as well as the schema.
Automating Presentation Changes in Dynamic Web Applications via Collaborative Hybrid Analysis was accepted at FSE'12. This paper evolves Towards Automatic Model Synchronization from Model Transformations into collaborative hybrid analysis, which is able to propagate changes in web pages back to the generation program.
I have joined Peking University faculty as an assistant professor under the "Young talents plan". This is a newly-designed position to match the tenure-track system used in North America.
Generating Range Fixes for Software Configuration was accepted at ICSE'12. This paper proposes a new type of fix, range fix, to handle the inconsistency fixing problem arised from A User Survey of Configuration Challenges in Linux and eCos. An automated algorithm for generating range fix is also given. In the sense of general inconsistency handling, range fixes introduce an interative fixing process to resolving inconsistencies, which is a complement of our existing work on Supporting Automatic Model Inconsistency Fixing.
A A User Survey of Configuration Challenges in Linux and eCos of our online survey was accepted at VaMoS'12.
I have finished my postdoc and left University of Waterloo. Now I temporarily work as an indepent researcher while waiting for a new job offer.
We have conducted an online survey about what challenges are faced by the users of modern configuration tools. The result was published here as a technical report.
I will serve as a PC member of BX 2012. Please consider submitting a papper.
From State- to Delta-Based Bidirectional Model Transformations: the Asymmetric Case is available on line.
I have written an article about Configurator Semantics of the CDL Language. Should be useful to anyone who wants to understand the configuration aspect of eCos/CDL.
From State- to Delta-Based Bidirectional Model Transformations: the Asymmetric Case was accepted at Journal of Object Technology. This an extended version of our From State- to Delta-Based Bidirectional Model Transformations.
Synchronizing Concurrent Model Updates Based on Bidirectional Transformation was accepted at Software and Systems Modeling and is available online. This is an extended version of our Supporting Parallel Updates with Bidirectional Model Transformations paper. This version adds discussion on history ignorance law and connects it with constant complement. I recommend to read even if you have read the conference version.
Supporting Runtime Software Architecture: A Bidirectional-Transformation-Based Approach was accepted at Journal of Systems and Software and is available online. This is an extended version of our Generating Synchronization Engines between Running Systems and Their Model-Based Views paper.
Specifying Overlaps of Heterogeneous Models for Global Consistency Checking was selected as one of the two best papers in MDI'10 and will appear in the post-proceedings.
From State- to Delta-Based Bidirectional Model Transformations was invited to a journal submission as one of the four best papers in ICMT'10.
Tolerating Inconsistency in Feature Models was accepted by LWI'10.
From State- to Delta-Based Bidirectional Model Transformations was accepted by ICMT'10.
I have moved from the University of Tokyo to University of Waterloo as a postdoc.
Generating Synchronization Engines between Running Systems and Their Model-Based Views was selected as one of the best two papers of Models@runtime.
I have graduated from the University of Tokyo. My thesis is available A Language-based Approach to Model Synchronization in Software Engineering.
We have released a library for helping integrate the Haskell-based synchronizer into Java projects. Please refer to here for more information.
Generating Synchronization Engines between Running Systems and Their Model-Based Views was accepted by Models@runtime.
Beanbag 1.0 was released.
A new paper describing the upcoming Beanbag 1.0 language was accepted by ESEC/FSE'09.
Atenea group has released reSynch, a UML synchronization tool developed using Beanbag. Visit here for more information.
Beanbag 0.2.1 has released. Added an output to the sync command and the resync command to show only effective update on the data. Also fixed a bug with incremental synchronization.
We have published a technical report about the Beanbag language.
Our ATL-based synchronization tool has been named as SyncATL.
We have released a new version of Beanbag. The new version includes a new and easy-to-write Beanbag language, an interactive console and two example programs.
Our on-site synchronization project has been named as Beanbag. This name comes from a Japanese traditional game of the same name where the players tries to keep several beanbag consistent within a short time constraint.
Our paper is accepted by ASE 2007!