正则表达式解释与覆盖导向测试用例生成的研究
正则表达式解释相关研究
正则表达式在软件开发等领域应用广泛,但也存在一些问题,如缺乏抽象和结构化机制,理解起来较为困难。
在对正则表达式的研究中,从上下文中识别出了280个子表达式,在这些样本中检测到39个包含错误,但没有排除错误。这些结果总结如下表:
| 项目 | 数量 |
| ---- | ---- |
| 子表达式数量 | 280 |
| 包含错误数量 | 39 |
| 排除错误数量 | 0 |
研究认为,在解释正则表达式的过程中发现134个正则表达式中的39个(潜在)错误是一个有趣的方面。不过,其中一些可能是误报,因为分析提供的意图可能过于严格,并非正则表达式创建者的本意。但即使是关于潜在错误的警告,也能让用户仔细思考他们所寻找的正则表达式,从而加深对该领域及其正则表达式的理解。
然而,研究的有效性存在一些威胁:
- 样本规模有限,如果样本不具有代表性,可能会使结果产生偏差。
- 网站regexplib.com可能不具有代表性。
- 使用认知维度框架而非用户研究来评估技术的有效性,可能影响研究结果。
目前已经有多种针对正则表达式问题的应对方法,包括支持正则表达式工作的工具和替代语言提案:
- 调试器 :如Perl内置的正则表达式调试器和Regex Buddy。Perl调试器会列出Perl匹配引擎执行的所有操作,但即使对于相当小的表达式,这个列表也可能变得非常大。Regex Buddy提供了一个可视化工具,突出显示当前匹配。
- 显示子表
超级会员免费看
订阅专栏 解锁全文
959

被折叠的 条评论
为什么被折叠?



