issue report 实验报告

issue report 实验报告

1.发现issue

本次实验在first good issue找了很多代码仓库和相关问题,有的是因为项目过大,下载下来还需要其他的环境,安装相关的依赖,安装完后又跑不通,有的跑通了代码,但是项目体量又很大,让我无从下手,在寻找Java或C或Python代码,找到了这个项目,前面试验的快有十几个仓库因为当时没多想,就没有留相关的记录,以下是对于项目find-sec-bugs插件的对于正则文法的匹配的Pattern的特定情况的假阳性报错。

2.安装并运行

首先是在idea上下载find-bugs插件,并对已经有的写的编译的程序进行分析,因为项目比较简短,没有什么跨线程的或是其他比较有数据泄露风险的问题,这里find-bugs主要是把idea已有会报的warning和代码一些简单优化的统计,并且可以通过下方两个窗口定位和修改相关的错误,提高了修改相关可能bug的效率,使得定位bug更加的方便。

3.找对应的issue

4.提出自己的讨论

这个项目已经对正则文法的Pattern不做这个*+的warning了,即使“*+”依旧会造成匹配的全盘接受造成的匹配需要进行大量计算,以及可能产生的问题,现在find-bugs不会对相应的问题再报出bug

对于代码:

import java.util.regex.Matcher;
import java.util.regex.Pattern;
​
public class TestOnFindBugs {
    public static void main(String[] args) {
        String text = "a s s d f g";
        String pattern = "^g\\s++[a-z]++(\\s++[a-z]++=[^\\s]*+)*+$";  // 匹配一个或多个数字
        String pattern1 = "a*+s*+";
​
        Pattern compiledPattern = Pattern.compile(pattern);
        Matcher matcher = compiledPattern.matcher(text);
        while (matcher.find()) {
            System.out.println("匹配到的字符: " + matcher.group());
        }
​
        Pattern compiledPattern1 = Pattern.compile(pattern1);
        matcher = compiledPattern1.matcher(text);
​
        while (matcher.find()) {
            System.out.println("匹配到的字符: " + matcher.group());
        }
    }
}
​

输出结果为

匹配到的字符: a
匹配到的字符: 
匹配到的字符: s
匹配到的字符: 
匹配到的字符: s
匹配到的字符: 
匹配到的字符: 
匹配到的字符: 
匹配到的字符: 
匹配到的字符: 
匹配到的字符: 
匹配到的字符: 
​

find-bugs无警告

因此该项目已经没有相应的问题。

5.另一个项目

6.提出issue

Tip Tap 协作插件在线同步功能是,当两个人同时打开一个在线文档时,一个人编辑另一个人可以看到对方编辑的效果, 但这个时候,如果一个 人刷新网页,会发现之前编辑的内容会重复,我猜想这可能是因为,这个插件没有做对在线文档不同访问次数的不同结果。

因为是线上合作系统,当时没有保存相应的错误截图因此下面是示意图

共享编辑文档:
​
init(已经保存部分)
​
user1(正在编辑):
aaaaaaaaa
​
user2(正在编辑):
bbbbbbbbb
​
end
​
​
此时user1刷新该界面,按下F5或者浏览器的fresh按钮
​
共享编辑文档:
​
init(已经保存部分,此处没有被多余复制)
​
aaaaaaaaa(重复)
user1(正在编辑):
aaaaaaaaa
​
bbbbbbbbb(重复)
user2(正在编辑):
bbbbbbbbb
​
end
​
此时正在编辑的内容会被重复复制一遍,导致文档出现错误

另外,Tip Tap 的collaboration最近更新已经是一个月前,最近没什么动静,这个issue目前也没有回复。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值