正则表达式的代码覆盖工具?

时间:2010-09-05 04:27:29

标签: regex code-coverage

是否有工具来衡量正则表达式的代码覆盖率?给出正则表达式和输入字符串列表的工具可以告诉您正则表达式的哪些部分被执行,其措施类似于语句覆盖,分支覆盖,条件覆盖等。

我并不关心它运行的语言或环境。

(更新:经过多次思考之后,我意识到从正则表达式开始并生成各种样本很容易。有一些工具可以做到这一点:http://research.microsoft.com/en-us/projects/rex/http://code.google.com/p/xeger/) 。但他们似乎并没有试图获得全面报道;他们只是通过DFA随机路径。)

2 个答案:

答案 0 :(得分:2)

我也对测试正则表达式感兴趣,并测量这些正则表达式测试所实现的覆盖率。我还没有找到现成的工具,但是research paper通过首先将正则表达式转换为Brics Automaton,然后从Brics自动机转换为XML表示形式,间接测量正则表达式测试覆盖率,然后从使用受Alekseykin启发的技术,将XML表示为自动机的ac#实现。看来这是一个自动化过程。我直接从其中一位论文作者那里得到了这些信息,他还指导我project site。我还没有尝试过,但打算这样做。也许有人可以打败我并报告他们的发现。

答案 1 :(得分:1)

Regex Buddy - 它允许你打开一个测试文件并针对你的正则表达式运行它并向你显示匹配等。考虑到它的用处,这是非常便宜的。