arrow
返回

Developing, testing, building and maintaining an Eclipse project based on EMF and Xtext

delete2026-03-17
delete0
PRE
AI
L
Lorenzo Bettini *
DOI:10.1007/s10515-026-00613-0delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
本研究解决了一个反复出现的实际问题:如何在保持构建和发布在跨平台中可重复且持续集成友好的同时,获取对基于Eclipse/Xtext的DSL工具链(涵盖语言服务、IDE集成和UI工作流)正确性的高置信度。我们提出了一种通用的、面向实践的测试和持续集成(CI)框架,并将其应用于Edelta,这是一个开源框架和基于Xtext的DSL,用于EMF元模型和模型的演化和重构。我们描述了一种全面的测试策略,基于测试驱动开发,涵盖运行时和重构库的快速单元测试、用于解析、作用域、验证、类型检查、解释和代码生成的无头DSL测试、针对Eclipse编辑器的IDE集成测试,以及锻炼完整用户工作流的端到端SWTBot测试。这些测试在一个单一的Maven/Tycho构建中编排,并在GitHub Actions上跨平台持续执行,SonarCloud提供代码质量和覆盖率反馈。我们的CI设置还构建和验证可分发的Eclipse产品和一个自包含的p2更新站点。对代表性CI运行的经验分析显示了一个清晰的测试金字塔分布,大多数检查在最快速层实现,在保持整体CI周转时间低的同时提供高正确性置信度。我们总结了经验教训、可操作的指南以及应避免的陷阱,以在工程化基于Eclipse和Xtext的研究软件时,确保其既功能丰富又可连续发布。
Keyword:
Metamodels
EMF
Xtext
DSL
Testing
Continuous integration
Eclipse
Build automation

期刊

A
Automated Software Engineering
IF:
3.1
论文数:
84
被引数:
0

机构

U
university of florence
学者数:
4.2W
论文数: 3.1W
被引数: 42
引用论文

引用论文

暂无论文信息