[1]杨芙清, 梅宏, 吕建, 等. 浅论软件技术发展[J]. 电子学报, 2002, 30(S1): 1901.
[2]IBM. Open source vs closed source software[EB/OL]. 2022. https://www.ibm.com/topics/opensource.
[3]PLANNING S. The economic impacts of inadequate infrastructure for software testing[J]. National Institute of Standards and Technology, 2002: 1.
[4]SEACORD R C, PLAKOSH D, LEWIS G A. Modernizing legacy systems: software technologies, engineering processes, and business practices[M]. AddisonWesley Professional, 2003.
[5]KAMARUZZAMAN M. Top 10 indemand programming languages to learn in 2020[EB/OL].2020. https://towardsdatascience.com/top10indemandprogramminglanguagestolearnin20204462eb7d8d3e.
[6]LI L, BISSYANDÉ T F, LE TRAON Y, et al. Accessing inaccessible android apis: An empirical study[C]//2016 IEEE International Conference on Software Maintenance and Evolution(ICSME). IEEE, 2016: 411422.
[7]XIA H, ZHANG Y, ZHOU Y, et al. How android developers handle evolutioninduced apicompatibility issues: A largescale study[C]//2020 IEEE/ACM 42nd International Conferenceon Software Engineering (ICSE). IEEE, 2020: 886898.
[8]JEEVANANDAM N. Top 10 programming languages used by github repo contributors in 2021[EB/OL]. 2021. https://analyticsindiamag.com/githubrepocontributors/.
[9]GOUES C L, PRADEL M, ROYCHOUDHURY A. Automated program repair[J]. Communications of the ACM, 2019, 62(12): 5665.
[10]JONES J A, HARROLD M J, STASKO J. Visualization of test information to assist fault localization[C]//Proceedings of the 24th International Conference on Software Engineering. ICSE2002. IEEE, 2002: 467477.
[11]KOYUNCU A, LIU K, BISSYANDÉ T F, et al. ifixr: Bug report driven program repair[C]//Proceedings of the 2019 27th ACM joint meeting on european software engineering conferenceand symposium on the foundations of software engineering. 2019: 314325.
[12]LIU C, YANG J, TAN L, et al. R2fix: Automatically generating bug fixes from bug reports[C]//2013 IEEE Sixth international conference on software testing, verification and validation.IEEE, 2013: 282291.
[13]ROCHA H, VALENTE M T, MARQUESNETO H, et al. An empirical study on recommendations of similar bugs[C]//2016 IEEE 23rd International Conference on Software Analysis,Evolution, and Reengineering (SANER): volume 1. IEEE, 2016: 4656.
[14]YANG X, LO D, XIA X, et al. Combining word embedding with information retrieval to recommend similar bug reports[C]//2016 IEEE 27Th international symposium on software reliabilityengineering (ISSRE). IEEE, 2016: 127137.59
[15]WANG X, ZHANG L, XIE T, et al. An approach to detecting duplicate bug reports using naturallanguage and execution information[C]//Proceedings of the 30th international conference onSoftware engineering. 2008: 461470.
[16]SUN C, LO D, KHOO S C, et al. Towards more accurate retrieval of duplicate bug reports[C]//2011 26th IEEE/ACM International Conference on Automated Software Engineering (ASE2011). IEEE, 2011: 253262.
[17]ROCHA H, DE OLIVEIRA G, MARQUESNETO H, et al. Nextbug: a bugzilla extension forrecommending similar bugs[J]. Journal of Software Engineering Research and Development,2015, 3(1): 3.
[18]COMMITTEE I S C, et al. Ieee standard glossary of software engineering terminology (ieeestd 610.121990). los alamitos[J]. CA: IEEE Computer Society, 1990, 169: 132.
[19]TIAN J. Software quality engineering: testing, quality assurance, and quantifiable improvement[M]. John Wiley & Sons, 2005.
[20]PRESSMAN R S. Software engineering: a practitioner’s approach[M]. Palgrave macmillan,2005.
[21]梅宏, 王千祥, 张路, 等. 软件分析技术进展[J]. 计算机学报, 2009, 32(9): 16971710.
[22]JONES J A. Semiautomatic fault localization[M]. Georgia Institute of Technology, 2008.
[23]BUGZILLA. Life cycle of a bug[EB/OL]. 2014. https://bugzilla.readthedocs.io/en/latest/using/editing.html#lifecycleofabug.
[24]POP D. Focus crashes when downloading a media file on google pixel 6 (android 12) ꞏ issue#6346 ꞏ mozillamobile/focusandroid ꞏ github[EB/OL]. 2022. https://github.com/mozillamobile/focusandroid/issues/6346.
[25]MUGURELL. Set flag_immutable for all pendingintents starting from android 23 by mugurellꞏ pull request #11669 ꞏ mozillamobile/androidcomponents ꞏ github[EB/OL]. 2022. https://github.com/mozillamobile/androidcomponents/pull/11669.
[26]JUST R, JALALI D, ERNST M D. Defects4j: A database of existing faults to enable controlled testing studies for java programs[C]//Proceedings of the 2014 International Symposiumon Software Testing and Analysis. 2014: 437440.
[27]MARTINEZ M, DURIEUX T, SOMMERARD R, et al. Automatic repair of real bugs in java:A largescale experiment on the defects4j dataset[J]. Empirical Software Engineering, 2017, 22(4): 19361964.
[28]JIANG J, XIONG Y, XIA X. A manual inspection of defects4j bugs and its implications forautomatic program repair[J]. Science China Information Sciences, 2019, 62(10): 200102.
[29]GAZZOLA L, MICUCCI D, MARIANI L. Automatic software repair: A survey[J]. IEEETransactions on Software Engineering, 2017, 45(1): 3467.
[30]LE GOUES C, DEWEYVOGT M, FORREST S, et al. A systematic study of automated program repair: Fixing 55 out of 105 bugs for $8 each[C]//2012 34th International Conference onSoftware Engineering (ICSE). IEEE, 2012: 313.60
[31]ALSHAHWAN N, GAO X, HARMAN M, et al. Deploying search based software engineeringwith sapienz at facebook[C]//International Symposium on Search Based Software Engineering.Springer, 2018: 345.
[32]ARTZI S, KIM S, ERNST M D. Recrashj: a tool for capturing and reproducing program crashesin deployed applications[C]//Proceedings of the 7th joint meeting of the European softwareengineering conference and the ACM SIGSOFT symposium on The foundations of softwareengineering. 2009: 295296.
[33]CAO Y, ZHANG H, DING S. Symcrash: selective recording for reproducing crashes[C]//Proceedings of the 29th ACM/IEEE international conference on Automated software engineering. 2014: 791802.
[34]XUAN J, XIE X, MONPERRUS M. Crash reproduction via test case mutation: let existingtest cases help[C]//Proceedings of the 2015 10th Joint Meeting on Foundations of SoftwareEngineering. 2015: 910913.
[35]PACHECO C, ERNST M D.Randoop: feedbackdirected random testing for java[C]//Companion to the 22nd ACM SIGPLAN conference on Objectoriented programming systemsand applications companion. 2007: 815816.
[36]FRASER G, ARCURI A. Evosuite: automatic test suite generation for objectoriented software[C]//Proceedings of the 19th ACM SIGSOFT symposium and the 13th European conference onFoundations of software engineering. 2011: 416419.
[37]TAN S H, YOSHIDA H, PRASAD M R, et al. Antipatterns in searchbased program repair[C]//Proceedings of the 2016 24th ACM SIGSOFT International Symposium on Foundationsof Software Engineering. 2016: 727738.
[38]XIN Q, REISS S. Better code search and reuse for better program repair[C]//2019 IEEE/ACMInternational Workshop on Genetic Improvement (GI). IEEE, 2019: 1017.
[39]KE Y, STOLEE K T, LE GOUES C, et al. Repairing programs with semantic code search(t)[C]//2015 30th IEEE/ACM International Conference on Automated Software Engineering(ASE). IEEE, 2015: 295306.
[40]LE GOUES C, NGUYEN T, FORREST S, et al. Genprog: A generic method for automaticsoftware repair[J]. Ieee transactions on software engineering, 2011, 38(1): 5472.
[41]TAN S H, YI J, MECHTAEV S, et al. Codeflaws: a programming competition benchmark forevaluating automated program repair tools[C]//2017 IEEE/ACM 39th International Conferenceon Software Engineering Companion (ICSEC). IEEE, 2017: 180182.
[42]LIANG J, HOU Y, ZHOU S, et al. How to explain a patch: An empirical study of patch explanations in open source projects[C]//2019 IEEE 30th International Symposium on SoftwareReliability Engineering (ISSRE). IEEE, 2019: 5869.
[43]TIAN Y, SUN C, LO D. Improved duplicate bug report identification[C]//2012 16th EuropeanConference on Software Maintenance and Reengineering. IEEE, 2012: 385390.
[44]NGUYEN A T, NGUYEN T T, NGUYEN T N, et al. Duplicate bug report detection witha combination of information retrieval and topic modeling[C]//2012 Proceedings of the 27thIEEE/ACM International Conference on Automated Software Engineering. IEEE, 2012: 7079.61
[45]SUREKA A, JALOTE P. Detecting duplicate bug report using character ngrambased features[C]//2010 Asia Pacific Software Engineering Conference. IEEE, 2010: 366374.
[46]ALIPOUR A, HINDLE A, STROULIA E. A contextual approach towards more accurate duplicate bug report detection[C]//2013 10th Working Conference on Mining Software Repositories(MSR). IEEE, 2013: 183192.
[47]HINDLE A, ONUCZKO C. Preventing duplicate bug reports by continuously querying bugreports[J]. Empirical Software Engineering, 2019, 24(2): 902936.
[48]BETTENBURG N, PREMRAJ R, ZIMMERMANN T, et al. Duplicate bug reports consideredharmful… really?[C]//2008 IEEE International Conference on Software Maintenance. IEEE,2008: 337345.
[49]KIM D, NAM J, SONG J, et al. Automatic patch generation learned from humanwritten patches[C]//2013 35th International Conference on Software Engineering (ICSE). IEEE, 2013: 802811.
[50]KOYUNCU A, LIU K, BISSYANDÉ T F, et al. Fixminer: Mining relevant fix patterns forautomated program repair[J]. Empirical Software Engineering, 2020: 145.
[51]TUFANO M, WATSON C, BAVOTA G, et al. An empirical study on learning bugfixing patchesin the wild via neural machine translation[J]. ACM Transactions on Software Engineering andMethodology (TOSEM), 2019, 28(4): 129.
[52]ZHANG X, ZHU C, LI Y, et al. Precfix: largescale patch recommendation by mining defectpatch pairs[C]//Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering: Software Engineering in Practice. 2020: 4150.
[53]RAGKHITWETSAGUL C, KRINKE J, PAIXAO M, et al. Toxic code snippets on stack overflow[J]. IEEE Transactions on Software Engineering, 2019.
[54]BÜCH L, ANDRZEJAK A. Learningbased recursive aggregation of abstract syntax trees forcode clone detection[C]//2019 IEEE 26th International Conference on Software Analysis, Evolution and Reengineering (SANER). IEEE, 2019: 95104.
[55]WHITE M, TUFANO M, VENDOME C, et al. Deep learning code fragments for code clonedetection[C]//2016 31st IEEE/ACM International Conference on Automated Software Engineering (ASE). IEEE, 2016: 8798.
[56]DUSTIN E, GARRETT T, GAUF B. Implementing automated software testing: How to savetime and lower costs while raising quality[M]. Pearson Education, 2009.
[57]OLIVEIRA R A, KANEWALA U, NARDI P A. Automated test oracles: State of the art,taxonomies, and trends[M]//Advances in computers: volume 95. Elsevier, 2014: 113199.
[58]MYERS G J, SANDLER C, BADGETT T. The art of software testing[M]. John Wiley & Sons,2011.
[59]HUMBLE J, FARLEY D. Continuous delivery: Reliable software releases through build, test,and deployment automation (adobe reader)[M]. Pearson Education, 2010.
[60]BERTOLINO A. Software testing research: Achievements, challenges, dreams[C]//2007 Future of Software Engineering. IEEE Computer Society, 2007: 85103.62
[61]RAFI D M, MOSES K R K, PETERSEN K, et al. Benefits and limitations of automated software testing: Systematic literature review and practitioner survey[C]//Proceedings of the 7thInternational Workshop on Automation of Software Test. IEEE Press, 2012: 3642.
[62]GAROUSI V, MÄNTYLÄ M V. When and what to automate in software testing? a multivocalliterature review[J]. Information and Software Technology, 2016, 76: 92117.
[63]FRASER G, ZELLER A. Mutationdriven generation of unit tests and oracles[J]. IEEE Transactions on Software Engineering, 2011, 38(2): 278292.
[64]STAATS M, GAY G, HEIMDAHL M P. Automated oracle creation support, or: how i learnedto stop worrying about fault propagation and love mutation testing[C]//Proceedings of the 34thInternational Conference on Software Engineering. IEEE Press, 2012: 870880.
[65]ARCURI A. An experience report on applying software testing academic results in industry:we need usable automated test generation[J]. Empirical Software Engineering, 2018, 23(4):19591981.
[66]ZHAO Y, YU T, SU T, et al. Recdroid: automatically reproducing android application crashesfrom bug reports[C]//2019 IEEE/ACM 41st International Conference on Software Engineering(ICSE). IEEE, 2019: 128139.
[67]LI Z, TAN S H. Bugine: a bug report recommendation system for android apps[C]//Proceedingsof the ACM/IEEE 42nd International Conference on Software Engineering: Companion Proceedings. 2020: 278279.
[68]JIANG J, XIONG Y, ZHANG H, et al. Shaping program repair space with existing patches andsimilar code[C]//Proceedings of the 27th ACM SIGSOFT international symposium on softwaretesting and analysis. 2018: 298309.
[69]GAO Q, ZHANG H, WANG J, et al. Fixing recurring crash bugs via analyzing q&a sites (t)[C]//2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE).IEEE, 2015: 307318.
[70]TAN S H, LI Z. Collaborative bug finding for android apps[C]//Proceedings of the ACM/IEEE42nd International Conference on Software Engineering. 2020: 13351347.
[71]HU C, NEAMTIU I. Automating gui testing for android applications[C]//Proceedings of the6th International Workshop on Automation of Software Test. ACM, 2011: 7783.
[72]COELHO R, ALMEIDA L, GOUSIOS G, et al. Exception handling bug hazards in android[J].Empirical Software Engineering, 2016: 141.
[73]FICANO N. nficano/humps: Convert strings (and dictionary keys) between snake case, camelcase and pascal case in python. inspired by humps for node[EB/OL]. 2022. https://github.com/nficano/humps.
[74]PROJECT N. Nltk :: Natural language toolkit[EB/OL]. 2022. https://www.nltk.org/.
[75]TECHNOLOGIES R. Gensim: Topic modelling for humans[EB/OL]. 2022. https://radimrehurek.com/gensim/index.html.
[76]Layouts | android developers[EB/OL]. 2022. https://developer.android.com/guide/topics/ui/declaringlayout.63
[77]KOWALSKI G. Information retrieval architecture and algorithms[M]. Springer Science &Business Media, 2010.
[78]JACCARD P. Étude comparative de la distribution florale dans une portion des alpes et des jura[J]. Bull Soc Vaudoise Sci Nat, 1901, 37: 547579.
[79]DICE L R. Measures of the amount of ecologic association between species[J]. Ecology, 1945,26(3): 297302.
[80]KONDRAK G. Ngram similarity and distance[C]//International symposium on string processing and information retrieval. Springer, 2005: 115126.
[81]ZIMMERMANN T, PREMRAJ R, BETTENBURG N, et al. What makes a good bug report?[J]. IEEE Transactions on Software Engineering, 2010, 36(5): 618643.
[82]ZHOU J, ZHANG H, LO D. Where should the bugs be fixed? more accurate informationretrievalbased bug localization based on bug reports[C]//2012 34th International Conferenceon Software Engineering (ICSE). IEEE, 2012: 1424.
[83]YE X, BUNESCU R, LIU C. Learning to rank relevant files for bug reports using domainknowledge[C]//Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering. 2014: 689699.
[84]VOORHEES E M, et al. The trec8 question answering track report.[C]//Trec: volume 99.1999: 7782.
[85]LINARESVÁSQUEZ M, HOLTZHAUER A, POSHYVANYK D. On automatically detectingsimilar android apps[C]//2016 IEEE 24th International Conference on Program Comprehension(ICPC). IEEE, 2016: 110.
[86]TAN S H, LI Z, YAN L. Crossfix: Collaborative bug fixing by recommending similar bugs[J/OL]. CoRR, 2021, abs/2103.13453. https://arxiv.org/abs/2103.13453.
[87]MECHTAEV S, YI J, ROYCHOUDHURY A.Angelix: Scalable multiline program patchsynthesis via symbolic analysis[C]//Software Engineering (ICSE), 2016 IEEE/ACM 38th International Conference on. IEEE, 2016: 691701.
[88]LONG F, RINARD M. Automatic patch generation by learning correct code[C]//POPL ’16:Proceedings of the 43rd Annual ACM SIGPLANSIGACT Symposium on Principles of Programming Languages. New York, NY, USA: ACM, 2016: 298312.
[89]MARTINEZ M, DURIEUX T, SOMMERARD R, et al. Automatic repair of real bugs in java:A largescale experiment on the defects4j dataset[J]. Empirical Software Engineering, 2016:129.
[90]WEIMER W, NGUYEN T, LE GOUES C, et al. Automatically finding patches using geneticprogramming[C]//2009 IEEE 31st International Conference on Software Engineering. IEEE,2009: 364374.
[91]MONPERRUS M. A critical review of ”automatic patch generation learned from humanwrittenpatches”: Essay on the problem statement and the evaluation of automatic software repair[C]//ICSE 2014: Proceedings of the 36th International Conference on Software Engineering. NewYork, NY, USA: ACM, 2014: 234242.64
[92]LIU C, YANG J, TAN L, et al. R2fix: Automatically generating bug fixes from bug reports[C/OL]//Sixth IEEE International Conference on Software Testing, Verification and Validation,ICST 2013, Luxembourg, Luxembourg, March 1822, 2013. IEEE Computer Society, 2013:282291. DOI: 10.1109/ICST.2013.24.
[93]KOYUNCU A, LIU K, BISSYANDé T F, et al. IFixR: Bug report driven program repair[C/OL]//ESEC/FSE 2019: 27th ACM Joint Meeting on European Software Engineering Conference(ESEC) and Symposium on the Foundations of Software Engineering (FSE). New York, NY,USA: Association for Computing Machinery, 2019: 314325. DOI: 10.1145/3338906.3338935.
[94]SINHA S, SHAH H, GöRG C, et al. Fault localization and repair for java runtime exceptions[C/OL]//ISSTA ’09: Proceedings of the Eighteenth International Symposium on Software Testing and Analysis. New York, NY, USA: ACM, 2009: 153164. http://doi.acm.org/10.1145/1572272.1572291.
[95]GU Y, XUAN J, ZHANG H, et al.Does the fault reside in a stack trace? assisting crashlocalization by predicting crashing fault residence[J]. Journal of Systems and Software, 2019,148: 88104.
[96]WU R, WEN M, CHEUNG S C, et al. Changelocator: locate crashinducing changes based oncrash reports[J]. Empirical Software Engineering, 2018, 23(5): 28662900.
[97]HAN S, DANG Y, GE S, et al. Performance debugging in the large via mining millions of stacktraces[C]//2012 34th International Conference on Software Engineering (ICSE). IEEE, 2012:145155.
[98]TAN S H, DONG Z, GAO X, et al. Repairing crashes in android apps[C]//2018 IEEE/ACM40th International Conference on Software Engineering (ICSE). IEEE, 2018: 187198.
[99]Liang J, Hou Y, Zhou S, et al. How to explain a patch: An empirical study of patch explanationsin open source projects[C]//2019 IEEE 30th International Symposium on Software ReliabilityEngineering (ISSRE). 2019: 5869.
[100] PRECHELT L, MALPOHL G, PHILIPPSEN M, et al. Finding plagiarisms among a set ofprograms with jplag.[J]. J. Univers. Comput. Sci., 2002, 8(11): 1016.
[101] AHTIAINEN A, SURAKKA S, RAHIKAINEN M. Plaggie: Gnulicensed source code plagiarism detection engine for java exercises[C]//Proceedings of the 6th Baltic Sea conference onComputing education research: Koli Calling 2006. 2006: 141142.
[102] LUO L, MING J, WU D, et al. Semanticsbased obfuscationresilient binary code similarity comparison with applications to software plagiarism detection[C]//Proceedings of the 22ndACM SIGSOFT International Symposium on Foundations of Software Engineering.2014:389400.
[103] MARTINS V T, FONTE D, HENRIQUES P R, et al. Plagiarism detection: A tool survey andcomparison[J]. Maria João Varanda Pereira José Paulo Leal, 2014: 143.
[104] LANCASTER T, CULWIN F. A comparison of source code plagiarism detection engines[J].Computer Science Education, 2004, 14(2): 101112.
[105] SCHLEIMER S, WILKERSON D S, AIKEN A. Winnowing: local algorithms for documentfingerprinting[C]//Proceedings of the 2003 ACM SIGMOD international conference on Management of data. 2003: 7685.65
[106] RAGKHITWETSAGUL C, KRINKE J, CLARK D. A comparison of code similarity analysers[J]. Empirical Software Engineering, 2018, 23(4): 24642519.
[107] NOVAK M. Review of sourcecode plagiarism detection in academia[C]//2016 39th International convention on information and communication technology, electronics and microelectronics (MIPRO). IEEE, 2016: 796801.
[108] Ant vs maven vs gradle: Java build tools comparison[EB/OL]. 2021. https://www.jrebel.com/blog/javabuildtoolscomparison.
[109] GRECO C, HADEN T, DAMEVSKI K. Stackintheflow: behaviordriven recommendation system for stack overflow posts[C]//Proceedings of the 40th International Conference on SoftwareEngineering: Companion Proceeedings. 2018: 58.
[110] URLI S, YU Z, SEINTURIER L, et al. How to design a program repair bot? insights from therepairnator project[C]//2018 IEEE/ACM 40th International Conference on Software Engineering: Software Engineering in Practice Track (ICSESEIP). IEEE, 2018: 95104.
[111] GITHUB. Dependabot[EB/OL]. 2022. https://github.com/dependabot.
修改评论