文章目录

  • 前言
  • 0 要读的论文
  • 1 A qualitative reasoning approach to spectrum-based fault localization
    • 1.1 基本介绍
    • 1.2 文章内容
    • 1.3 QA环节之Q
    • 1.4 QA环节之A
    • 1.5 小结
      • 1.5.1 好的地方
      • 1.5.2 不足之处
  • 总结
  • 参考文献

前言

Rui Abreu是软件工程领域(尤其是缺陷定位,软件测试等)的一位学者,其论文的被引用量达到3500多。故在此择出Rui Abreu的部分论文,并细读。

如昨日(见 https://blog.csdn.net/weixin_39278265/article/details/86777011 )所言,今日研读Rui Abreu的部分论文。

此外,Rui Abreu的个人介绍请见 https://blog.csdn.net/weixin_39278265/article/details/86777011 ,这篇文章就不重复叙述了。

0 要读的论文

至今(2019年2月9日)为止,Rui Abreu的论文有132篇 [1] 。

其中我感兴趣的有:
A Model-based Reasoning Approach to Software Debugging
Statistical debugging: A hypothesis testing-based approach
An evaluation of similarity coefficients for software fault localization(引用量326)
Software fault diagnosis(2007)
On the accuracy of spectrum-based fault localization(2007年 引用量 555)
Techniques for diagnosing software faults(2008)
Automatic software fault localization using generic program invariants(2008)
Automated fault diagnosis in embedded systems(2008)
A dynamic modeling approach to software multiple-fault localization(2008)
A Model-Based Software Reasoning Approach to Software Debugging(2009 感觉和TSE 2019有关)
Refining spectrum-based fault localization rankings(有关lies?flat score?)
Localizing Software Faults Simultaneously(QSIC 2009)
Zoltar: a spectrum-based fault localization tool(FSE 2009)
Spectrum-based multiple fault localization(ASE 2009)
Zoltar: A toolset for automatic fault localization(ASE 2009)
A practical evaluation of spectrum-based fault localization(2009 引用量 300 JSS 期刊)
A diagnostic approach to test priorization
The GZoltar project: a graphical debugger interface(2010)
Improving the software fault localization process through testability information
Increasing system availability with local recovery based on fault localization
Exploiting count spectra for bayesian fault localization
Diagnosing multiple intermittent failures using maximum likelihood estimation
Prioritizing Tests for Fault Localization through Ambiguity Group Reduction(2011)
An empirical study on the usage of testability information to fault localization in software
Probabilistic Error Propagation Modeling in Logic Circuits(2011 ICSTW)
Spectrum-based sequential diagnosis
A diagnostic reasoning approach to defect prediction
Prioritizing tests for software fault diagnosis
Gzoltar: an eclipse plug-in for testing and debugging(2012)
A topology-based model for estimating the diagnostic efficiency of statistics-based approaches
Prioritizing tests for fault localization
On the empirical evaluation of fault localization techniques for spreadsheets
Encoding test requirements as constraints for test suite minimization
Threats to the validity and value of empirical assessments of the accuracy of coverage-based fault locators
MZoltar: automatic debugging of Android applications
Leveraging a constraint solver for minimizing test suites
Entropy-based test generation for improved fault localization
Spectrum-based fault localization for diagnosing concurrency faults
Enhancing reasoning approaches to diagnose functional and non-functional errors
Generation of relevant spreadsheet repair candidates
A survey on fault localization techniques(Eric Wong不是一作,很神奇)
A dynamic code coverage approach to maximize fault localization efficiency
A diagnosis-based approach to software comprehension
Continuous test generation: enhancing continuous integration with automated test generation(ASE 2014)
Empirical Evaluation of Similarity Coefficients for Multiagent Fault Localization
On the empirical evaluation of similarity coefficients for spreadsheets fault localization
Fault detection in C programs using monitoring of range values: Preliminary results
Using constraints to diagnose faulty spreadsheets
Continuous Test Generation on Guava
A survey on software fault localization
Framing program comprehension as fault localization
Evaluating & improving fault localization techniques
SECBENCH: A Database of Real Security Vulnerabilities
Prevalence of single-fault fixes and its impact on fault localization
A test-suite diagnosability metric for spectrum-based fault localization approaches
A Database of Existing Vulnerabilities to Enable Controlled Testing Studies
Leveraging Qualitative Reasoning to Improve SFL.
A qualitative reasoning approach to spectrum-based fault localization
Lightweight source code monitoring with Triggr

总共59篇文章 ,心很累,因为中间博客没有保存,然后不小心按到了F5,然后这些已经打好的文章题目,和所有备注,都没了。所以重新草草复制了一遍。

59篇文章是不可能读完的。
感觉最多10篇文章,其他的都应该看看Abstract即可。

(我觉得要是能够完成这件事情,应该也算奇葩了。很想知道还有谁会和我做一样的事情。)

1 A qualitative reasoning approach to spectrum-based fault localization

1.1 基本介绍

下载方式: 学校图书馆 or sci-hub。

Perez A, Abreu R. A qualitative reasoning approach to spectrum-based fault localization[C]//Proceedings of the 40th International Conference on Software Engineering: Companion Proceeedings. ACM, 2018: 372-373.

很疑惑,不知道这个ICSE的 Companion Proceeedings 是什么?应该也很不一般吧。
根据 [2] https://academia.stackexchange.com/questions/30810/what-is-companion-proceedings-in-a-conference
的介绍,感觉Companion Proceeedings有点类似workshop paper?不过也有说和major proceedings没有区别的。所以,,,暂时没有定论。

但是根据 [3] 和 [4] ,感觉companion proceedings更像一些研讨会(panel session)之类的集合,确实还是和正常会议的tracks不一样。

果然,这篇文章是一个poster。

1.2 文章内容

先看透SFL(基于谱的缺陷定位技术)的本质:

As spectrum-based fault localization (SFL) reasons about coverage rather than source code, it allows for a lightweight, language agnostic way of pinpointing faults in software.

但是当前SFL存在的问题是:

However, SFL misses certain faults, such as errors of omission, and may fail to provide enough contextual information about its diagnoses.

所以如何解决呢:

We propose Q-SFL, that leverages the concept of qualitative reasoning to augment the information made available to SFL techniques, by qualitatively partitioning the values of data units from the system, and treating each qualitative state as a new SFL component to be used when diagnosing.

大概内容如下:

SFL推理覆盖率而不是源代码,所以自然诞生了一种轻量级的、语言不可知论的软件缺陷定位技术。(原来如此,这个本质性的东西,我感觉我没办法直接看透。但是感觉老师确实已经看到了,所以自己还是很有差距的,还得多思考,动脑筋)

但是呢,SFL虽然轻量级,应用广泛,依旧存在局限性,即可能会遗漏错误,或者难以对自己的错误诊断提供足够的上下文信息。

为此,我们推出了Q-SFL,即通过定性分割系统数据单元的值和在诊断中把每个定性状态看做一个新的SFL组件来用,利用定性推理的概念来增强使SFL可用的信息。

1.3 QA环节之Q

1)定性推理是什么,这篇文章的原理是什么,目前为止,我还是没看太懂。

2)给SFL添加额外的信息,添加的到底是什么呢?

1.4 QA环节之A

回答问题1):

To mitigate the issues above, we propose the inspection of the runtime value for relevant system data, with the intent of augmenting reports generated by SFL techniques.

原来是通过检查(观察)相关的系统数据的 runtime value,以增强SFL技术产生的报告(reports)。

We leverage Qualitative Reasoning (QR), which provides a way of describing continuous values by their discrete, behavioral qualities, to enable the ability of reasoning about a system’s behavior without exact quantitative information [3, 9].

看到这里,我彻底沉默了,不是每个研究生都能做到这样。聪明的人很多,坚持的人也很多,热爱的人也很多,但是聪明、坚持、又热爱的人有多少呢。有这三点,感觉迟早会有成果。

其实这段让我震惊的是文献[3]和[9]的出版时间:

[3] Kenneth D. Forbus. 1997. Qualitative Reasoning. In The Computer Science and Engineering Handbook. 715–733.
[9] Brian C. Williams and Johan de Kleer. 1991. Qualitative Reasoning about Physical Systems: A Return to Roots. Artifcial Intelligence 51, 1-3 (1991), 1–9.

2000年(21世纪)之前发表的论文。这都能捕捉到,太难了。

Our Q-SFL approach consists of partitioning several SFL components into multiple, meaningful, qualitatively distinct subcomponents, to be used in the fault localization.



看了这里,大概就懂了。

回答问题2):
其实就是runtime value,runtime state,但是技术运用的是1998年左右的文章提供的技术。

1.5 小结

1.5.1 好的地方

这个实证做的是真的好。很值得学习。

还有,原来是领域交叉?这个让我很。。。
深感无力。
这是需要积累的。不然根本想不出来。

1.5.2 不足之处

在回答问题1)的时候,我感觉是创新性还是有所欠缺?感觉仅仅只是一个SFL的runtime value辅助性的增强,这种技术的贡献可大可小。发在poster track上,也是妥当、可以理解的。

总结

算了,把几篇文章放在一篇博客,感觉还是太长了。下篇文章再写吧。

参考文献

[1] Rui Abreu. https://scholar.google.com/citations?hl=zh-CN&user=x25BFgEAAAAJ&view_op=list_works&sortby=pubdate

[2] What is “ companion proceedings” in a conference?
https://academia.stackexchange.com/questions/30810/what-is-companion-proceedings-in-a-conference

[3] Companion Proceedings of the 36th International Conference on Software Engineering https://dl.acm.org/citation.cfm?id=2591062

[4] Proceedings of the 36th International Conference on Software Engineering https://dl.acm.org/citation.cfm?id=2568225&picked=prox

软工学者Rui Abreu的论文研究相关推荐

  1. 软工大牛Rijnard van Tonder 和 Claire Le Goues及其顶会论文解读

    前言 本文旨在介绍软工大牛Rijnard van Tonder, Claire Le Goues及其今年ICSE 2018顶会论文"Static Automated Program Repa ...

  2. 软工大牛Collin McMillan及其顶会论文解读

    前言 本文介绍软工大牛Collin McMillan及其今年顶会论文"Detecting Speech Act Types in Developer Question.Answer Conv ...

  3. 2022安全与软工顶会中区块链智能合约相关论文

    2022安全与软工顶会中区块链智能合约相关论文 前言 安全顶会 S&P USENIX Security CCS NDSS 软工顶会 TOSEM TSE ISSTA FSE ASE ICSE 前 ...

  4. 软工实践原型设计——PaperRepositories

    软工实践原型设计--PaperRepositories 写在前面 本次作业链接 队友(031602237吴杰婷)博客链接 pdf文件地址 原型设计地址(加载有点慢...) 结对成员:031602237 ...

  5. 2018年软工第一次作业

    回想一下你初入大学时对计算机专业的畅想 当初你是如何做出选择计算机专业的决定的? 实现儿时的梦. 其实真的原因不是这个^^,原因相当简单.理科出身的男生没有太多意愿选择经管人文之类的文科学科(虽然现在 ...

  6. 软工实践第三次作业-结对项目1

    软工实践第三次作业-结对项目1 简要目录: Step1 · 结对信息     成员信息     项目简介 Step2 · 项目信息     设计说明     原型模型 Step3 · 结对过程     ...

  7. 福大软工1816 · 第三次作业 - 结对项目1

    软工实践第三次作业-结对项目1 简要目录: Step1 · 结对信息     成员信息     项目简介 Step2 · 项目信息     设计说明     原型模型 Step3 · 结对过程     ...

  8. 2022软工出发-阅读和调研-构建之法与CICD与版本管理

    项目 内容 这个作业属于哪个课程 2022春季软件工程(罗杰 任健) 这个作业的要求在哪里 个人阅读作业 我在这个课程的目标是 学习软工的项目合作管理知识,提升软件开发技术 这个作业在哪个具体方面帮助 ...

  9. 【CodingNoBorder - 09】无际软工队 - 求职岛:ALPHA 阶段项目展示

    无际软工队 - 求职岛:ALPHA 阶段项目展示 项目与团队亮点 成员与分工 基本原则:并力前行.共识优先 无际软工队由七名成员组成,大家性格各异.技能及对产品的理解亦各不相同. 团队成员一致同意:在 ...

最新文章

  1. 乌鲁木齐计算机老师待遇,如果月薪超过10000元,安排去新疆当教学教师,愿意吗?...
  2. python能做什么游戏ll-是Python的语法LL(1)吗?
  3. android 时钟进度条,CSS3时钟式进度条
  4. mysql 5.7 初始化数据库_MySQL 5.7 新特性之初始化
  5. 《Go语言圣经》学习笔记 第四章 复合数据类型
  6. linux centos 7定时任务添加,CentOS 7 cron服务 定时任务使用方法
  7. 又联考了一场,感觉自己好菜啊,T1没写出来,后来花了一个早上调试。QAQ。最后发现是个-1还有取模没打。。。TAT。。。难受极了!!!...
  8. C++ ::什么意思
  9. python 环境问题
  10. 高通平台SPI驱动框架分析
  11. win10清除系统激活密钥
  12. 计算机算平方根原理,算术平方根与计算器
  13. Javascript验证身份证号码:正则表达式
  14. 无限循环小数四则运算_无限循环小数的加减乘除及无限循环小数转换为分数形式-何长峻...
  15. 读书感受 之 《三体》
  16. oracle 列不能外部联接到子查询,ORA-01799 列不能外部联接到子查询
  17. SH-SSS丨CUSIDE:分块、模拟未来、解码的流式语音识别新框架
  18. k8s 存活检查与就绪检查
  19. 【网络编程实践--陈硕】2.4.3 使用procmon观察dummyload
  20. 服务器物理内存如何卸载,win7电脑物理内存过高怎么清理

热门文章

  1. ubuntu18.04 moveit geomagic touch配置及使用
  2. Arduino开发ESP8266连接无线路由器
  3. 为什么要写无参构造函数
  4. Homework20191113
  5. linux java 创建目录结构_linux mkdir命令创建目录详解
  6. 【杂谈】即将物联网工程大三,一路旅行的所见所闻
  7. docker启动服务命令
  8. FUTURES模型 | 5. Potential 潜力子模块
  9. ios11科学计算机,最新的iOS11居然这么强大,各种逆天功能...
  10. 四个开发模型的优缺点