摘要
复用已有高质量源代码可提高软件开发效率及软件质量.当前,基于用户提供的输入/输出对的匹配判断是代码语义搜索的主要方法之一,但该方法难以刻画完整代码行为,且仅能处理单输入类型.提出一种针对多种形式类型匹配的代码语义搜索方法.首先将代码集内各个代码片段中数据对象个数及类型的加工过程转换为Petri网模型;其次根据用户查询中蕴含的数据类型及个数、输出数据类型等约束来构造Petri网初始标识和目标标识;然后在Petri网中通过可达图及诱发网分析判断是否存在相应的可达路径,从而获得代码匹配依据.分析及实验表明,该方法能有效实现多种形式的输入/输出类型匹配的代码搜索,且相对于传统类型匹配方法,能明显提高搜索准确度和效率.
- 单位