顶刊论文Human Competitiveness of Genetic Programming in Spectrum-Based Fault Localisation... [TOSEM 2017

版权声明:如需转载或引用,请注明出处。 https://blog.csdn.net/weixin_39278265/article/details/82593030

前言

今天我们来会一会 软件工程领域顶级期刊 TOSEM 2017年论文——“Human Competitiveness of Genetic Programming in Spectrum Based Fault Localisation: Theoretical and Empirical Analysis”。

1 作者信息

SHIN YOO,XIAOYUAN XIE,FEI-CHING KUO,TSONG YUEH CHEN,MARK HARMAN

SHIN YOO,XIAOYUAN XIE,MARK HARMAN,这三个人我都听说过,都很厉害。
其中第一作者Shin Yoo是2014 年ICST “Ask the Mutants: Mutating Faulty Programs for Fault Localization” 的作者,那个就是把GP用到缺陷定位中,万万没想到发了顶刊。

2 摘要写的有点 强势,各种first time,写的很稳很自信

1)原来FL 缺陷定位属于 基于搜索的软件工程? SBSE
We report on the application of Genetic Programming to Software Fault Localisation, a problem in the area of
Search Based Software Engineering (SBSE).

Convey
英 [kənˈveɪ] 美 [kənˈve]
表达,传递(思想、感情等)
to make ideas, feelings, etc. known to sb
(formal) 传送;运送;输送
to take, carry or transport sb/sth from one place to another

counterparts
英 [‘kaʊntəpɑ:ts] 美 [‘kaʊntəpɑ:ts]
与对方地位相当的人,与另一方作用相当的物( counterpart的名词复数 );同仁
Someone’s or something’s counterpart is another person or thing that has a similar function or position in a different place.

2)作者的工作:证明自己的缺陷定位技术在诸多人类发明的缺陷定位技术中很有竞争力
We give both empirical and theoretical evidence for the human
competitiveness of the evolved fault localisation formulæ under the single fault scenario, compared to those
generated by human ingenuity and reported in many papers, published over more than a decade.

ingenuity
英 [ˌɪndʒəˈnju:əti] 美 [ˌɪndʒəˈnu:əti]
the ability to invent things or solve problems in clever new ways
[U] 独创力;聪明才智;心灵手巧

@1 Though there have been previous human competitive results claimed for SBSE problems, this is the frst time that evolved solutions have been formally proved to be human competitive. 这个的意思就是 本文做了empirical study,所以 就算是“formally proved”???
@2 We further prove that no future human investigation could outperform the evolved solutions. 这句话没看懂
@3 We complement these proofs with an empirical analysis of both human and evolved solutions, which indicates that the evolved solutions are not only theoretically human competitive, but also convey similar practical benefts to human-evolved counterparts. 不仅理论上强,而且实际上也很强?…还是不太确定自己的理解,尤其是human competitiveness,很神奇的词组。

3 文章工作

This paper presents a theoretically optimal, human competitive and practical approach to Spectrum Based Fault Localisation (SBFL) [24, 28] using Genetic Programming (GP) [31, 43].

[24] Mary Jean Harrold, Gregg Rothermel, Rui Wu, and Liu Yi. 1998. An empirical investigation of program spectra. In Proceedings of the ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering (PASTE 1998) (PASTE ’98). ACM, New York, NY, USA, 83–90.
[28] James A. Jones and Mary Jean Harrold. 2005. Empirical evaluation of the tarantula automatic fault-localization technique. In Proceedings of the 20th International Conference on Automated Software Engineering (ASE2005). ACM Press, 273–282.
[31] J. R. Koza. 1992. Genetic Programming: On the Programming of Computers by Means of Natural Selection. MIT Press, Cambridge, MA.
[43] Riccardo Poli, William B. Langdon, and Nicholas Freitag McPhee. 2008. A feld guide to genetic programming. Published via http://lulu.com and freely available at http://www.gp-field-guide.org.uk. (With contributions by J. R. Koza).

感觉这些引用文献都比较神奇。其中:为什么要引用2005年的tarantula呢,难道这个最经典?

Our work is situated within a growing trend in software engineering, Search Based Software Engineering
(SBSE) [4, 16, 23, 35], which uses computational search techniques (with a particular emphasis on
evolutionary computation [22]). It provides the frst provably and theoretically optimal results in
the feld of SBSE.

[16] Fabrício Gomes Freitas and Jerffeson Teixeira Souza. 2011. Ten Years of Search Based Software Engineering: A
Bibliometric Analysis. In Search Based Software Engineering, MyraB. Cohen and Mel Ó Cinnéide (Eds.). Lecture Notes
in Computer Science, Vol. 6956. Springer Berlin Heidelberg, 18–32.
[23] Mark Harman, S. Afshin Mansouri, and Yuanyuan Zhang. 2012. Search-based software engineering: Trends, techniques
and applications. Comput. Surveys 45, 1, Article 11 (December 2012), 61 pages.
[22] Mark Harman. 2011. Software Engineering meets Evolutionary Computation. IEEE Computer 44, 10 (Oct. 2011), 31–39.
[35] Philip McMinn. 2004. Search-based Software Test Data Generation: A Survey. Software Testing, Verifcation and
Reliability 14, 2 (June 2004), 105–156.

从这里就可以看出来,mark harman的之前工作和这篇论文很相关,因为这篇论文疯狂引用该作者的文章。

4 SBFL这么优秀的吗

SBFL is important because it offers automated assistance to the debugging process, which is currently labour-intensive, expensive and time-consuming. SBFL has been advocated as a technique for helping humans fnd faults faster [20, 42] and also as a supporting technology for automated program repair [32, 50], which automatically fxes certain classes of fault (also using techniques such as GP).

[20] C. Gouveia, J. Campos, and R. Abreu. 2013. Using HTML5 visualizations in software fault localization. In Proceedings
of the 1st IEEE Working Conference on Software Visualization (VISSOFT). 1–10.
[42] Chris Parnin and Alessandro Orso. 2011. Are automated debugging techniques actually helping programmers?. In
Proceedings of the 2011 International Symposium on Software Testing and Analysis (ISSTA 2011). ACM, New York, NY,
USA, 199–209.

我感觉他引用的文献都比较奇怪,我要看下[20]是不是被引用次数很多:30次
[42] 则被引用了304次。

5 再次看到SFL是在语句层次!震惊。

The SBFL suspiciousness formula defnes the ‘suspiciousness’ of each statement in terms of
observations from software testing, thereby forming the ‘key ingredient’ of SBFL. The suspiciousness
formula is also known as a risk formula, in the sense that it seeks to capture the ‘risk’ that the
statement causes the bug.

值得一学。

6 终于知道真实错误语句怎么写了!truly faulty statement

A good risk formula will tend to elevate the reported suspiciousness of
truly faulty statements and depress that of innocent statements.

7 再次看到作者的工作

We report on a GP solution that searches for formulæ, which we have implemented, showing that it finds known maximal formulæ (previously found by humans) and also novel maximal formulæ (not previously found by humans).

We report on a set of experiments on real software systems to evaluate the formulæ found by humans and by GP.

Our empirical evaluation indicates that one class of formulæ (found by GP and also by humans) performs best overall. Finally, we prove that, under the single fault scenario, there does not exist a superior formula to the current known maximal formulæ found by humans and/or by GP.

Therefore, GP-evolved formulæ are not only human competitive, but no further human analysis could yield superior alternatives.

While human competitiveness of SBSE has been empirically shown before [7, 8, 15, 40], we believe this is the frst claim backed by a formal mathematical proof

[7] Earl T. Barr, Mark Harman, Yue Jia, Alexandru Marginean, and Justyna Petke. 2015. Automated Software Transplantation. In Proceedings of the 2015 International Symposium on Software Testing and Analysis (ISSTA 2015). ACM, New
York, NY, USA, 257–269. DOI:http://dx.doi.org/10.1145/2771783.2771796
[8] Mariano Ceccato, Alessandro Marchetto, Leonardo Mariani, Cu D. Nguyen, and Paolo Tonella. 2015. Do Automatically
Generated Test Cases Make Debugging Easier? An Experimental Assessment of Debugging Effectiveness and Efciency.
ACM Trans. Softw. Eng. Methodol. 25, 1 (Dec. 2015), 5:1–5:38.
[15] Gordon Fraser, Matt Staats, Phil McMinn, Andrea Arcuri, and Frank Padberg. 2013. Does automated white-box test
generation really help software testers?. In International Symposium on Software Testing and Analysis, ISSTA ’13, Lugano,
Switzerland, July 15-20, 2013. 291–301
[40] Annibale Panichella, Bogdan Dit, Rocco Oliveto, Massimiliano Di Penta, Denys Poshyvanyk, and Andrea De Lucia. 2013.
How to Effectively Use Topic Models for Software Engineering Tasks? An Approach Based on Genetic Algorithms. In
Proceedings of the 2013 International Conference on Software Engineering (ICSE ’13). IEEE Press, Piscataway, NJ, USA,
522–531.


原来这么多人研究。这么多好文章,都值得读一下。

superior
英 [su:ˈpɪəriə(r)] 美 [su:ˈpɪriə(r)]
(在品质上)更好的;占优势;更胜一筹
better in quality than sb/sth else; greater than sb/sth else
(在级别、重要性或职位上)更高的
higher in rank, importance or position

8 这篇软件移植的文章必读

[7] Earl T. Barr, Mark Harman, Yue Jia, Alexandru Marginean, and Justyna Petke. 2015. Automated Software Transplantation. In Proceedings of the 2015 International Symposium on Software Testing and Analysis (ISSTA 2015). ACM, New
York, NY, USA, 257–269. DOI:http://dx.doi.org/10.1145/2771783.2771796

第一次看到自动软件移植,一定要读读。

9 作者厉害的地方:在introduction的末尾不忘补充一段说明自己的工作很有意义

SBFL is an area of software engineering that has been well studied by humans over many
years, and for which human ingenuity has produced publishable advances that have subsequently
turned out to include both sub-optimal as well as optimal results. It is an important area that has
motivated (and continues to motivate) many leading researchers to attack the problem of fnding
suitable formulæ with attractive theoretical and practical properties. We believe that this makes it
exciting and encouraging that GP has been able to fnd results that are provably human competitive,
theoretically unbeatable, and also practically valuable

震惊,作者用的benchmark是SIR,是人工产生的bug

4.1.1 Subject Programs. In these experiments, we use fve subject programs from Software
Infrastructure Repository (SIR) [13]. Table 4 describes the functionalities and sizes of these programs:
the size is measured in Source Lines of Code, excluding whitespaces, using SLOCCount [47]5. Table 4
also presents the size test suites employed. We adopted all test cases provided by SIR, including the
“universe” test plan and the additional test cases.


好像2017年 ICSE 那篇improving fault localization techniques已经说了这个GP出来的缺陷定位技术 在人工bug里面还行,但是在real faults里面不好使。

11 仓促小结

先读到这里,基本要了解的东西已经到手,但是还需要细细研究里面的GP各种实验。

猜你喜欢

转载自blog.csdn.net/weixin_39278265/article/details/82593030