Research

Here we loosely organize our research efforts by subject. If you can’t find something or think we’ve forgotten anything, make sure you also consult the publications list, and consider contacting us directly or filing an issue with this page at https://github.com/squaresLab/squaresLab.github.io.

Program Transformation and Repair

The error repair process in software systems is, historically, a resource-consuming task that relies heavily on manual developer effort. We have created and analyzed existing automatic program repair approaches to improve their performance and quality of created patches; this work has produced frameworks and toolsets for automatic program transformation and repair, as well as datasets for its evaluation. You might be looking for:

Heuristic transformation and repair

Static and semantic repair

GenProg

GenProg combines stochastic search methods like genetic programming with lightweight program analyses to find patches for real bugs in extant software. The GenProg website covers most GenProg-related research, with links to the various GitHub repositories, results, and reproduction instructions.

Related Publications:

Datasets and experimental frameworks

Related Publications:

Poster: BugZoo: A Platform for Studying Software Bugs, Christopher Steven Timperley, Susan Stepney, and Claire Le Goues, in International Conference on Software Engineering: Companion Proceedings, ICSE Poster ’18, 2018, pp. 446–447.
PDF · Poster · DOI · BibTeX
@inproceedings{TimperleyBugZooPoster2018,
  title = {Poster: BugZoo: A Platform for Studying Software Bugs},
  author = {Timperley, Christopher Steven and Stepney, Susan and {Le~Goues}, Claire},
  booktitle = {International Conference on Software Engineering: Companion
                    Proceedings},
  series = {ICSE Poster '18},
  pages = {446--447},
  doi = {10.1145/3183440.3195050},
  publisher = {ACM},
  month = may,
  year = {2018},
  location = {Gothenburg, Sweden}
}

The ManyBugs and IntroClass Benchmarks for Automated Repair of C Programs, Claire Le Goues, Neal Holtschulte, Edward K. Smith, Yuriy Brun, Premkumar Devanbu, Stephanie Forrest, and Westley Weimer, IEEE Transactions on Software Engineering, vol. 41, no. 12, pp. 1236–1256, Dec. 2015.
PDF · Code · DOI · BibTeX
@article{LeGouesManyBugs2015,
  author = {{Le~Goues}, Claire and Holtschulte, Neal and Smith, Edward K. and Brun, Yuriy and Devanbu, Premkumar and Forrest, Stephanie and Weimer, Westley},
  title = {The {ManyBugs} and {IntroClass} Benchmarks for Automated
                    Repair of {C} Programs},
  journal = {{IEEE} Transactions on Software Engineering},
  year = {2015},
  volume = {41},
  number = {12},
  pages = {1236--1256},
  month = dec,
  doi = {10.1109/TSE.2015.2454513}
}

Tools for Humans

Related Publications:

Program Repair Related Publications:

SOSRepair: Expressive Semantic Search for Real-World Program Repair, Afsoon Afzal, Manish Motwani, Kathryn Stolee, Yuriy Brun, and Claire Le Goues, IEEE Transactions on Software Engineering, 2019.
PDF · Code · Data · Results · DOI · BibTeX
@article{AfzalSOSRepair19,
  title = {{SOSRepair}: Expressive Semantic Search for Real-World Program Repair},
  author = {Afzal, Afsoon and Motwani, Manish and Stolee, Kathryn and Brun, Yuriy and {Le~Goues}, Claire},
  journal = {{IEEE} Transactions on Software Engineering},
  year = {2019},
  publisher = {IEEE},
  doi = {10.1109/TSE.2019.2944914}
}

Leveraging Program Invariants to Promote Population Diversity in Search-Based Automatic Program Repair, Zhen Yu Ding, Yiwei Lyu, Christopher S. Timperley, and Claire Le Goues, in Genetic Improvement Workshop, GI ’19, 2019, pp. 2–9.
PDF · DOI · BibTeX
@inproceedings{DingLyuGI2019,
  author = {Ding, {Zhen~Yu} and Lyu, Yiwei and Timperley, Christopher S. and {Le~Goues}, Claire},
  title = {Leveraging Program Invariants to Promote Population Diversity in Search-Based Automatic Program Repair},
  booktitle = {Genetic Improvement Workshop},
  series = {GI '19},
  year = {2019},
  pages = {2--9},
  doi = {10.1109/GI.2019.00011}
}

A Novel Fitness Function for Automated Program Repair Based on Source Code Checkpoints, Eduardo Faria de Souza, Claire Le Goues, and Celso Goncalves Camilo-Junior, in Proceedings of the Genetic and Evolutionary Computation Conference, GECCO ’18, 2018, pp. 1443–1450.
PDF · BibTeX
@inproceedings{deSouzaFitness2018,
  author = {{de~Souza}, Eduardo Faria and {Le~Goues}, Claire and Camilo-Junior, Celso Goncalves},
  title = {A Novel Fitness Function for Automated Program Repair Based on
                    Source Code Checkpoints},
  year = {2018},
  publisher = {ACM},
  booktitle = {Proceedings of the Genetic and Evolutionary Computation
                    Conference},
  series = {GECCO '18},
  location = {Kyoto, Japan},
  month = jul,
  pages = {1443--1450}
}

Static Automated Program Repair for Heap Properties, Rijnard van Tonder and Claire Le Goues, in International Conference on Software Engineering, ICSE ’18, 2018, pp. 151–162.
PDF · Slides (PDF) · Code · DOI · BibTeX
@inproceedings{vanTonderHeapProperties2018,
  title = {Static Automated Program Repair for Heap Properties},
  author = {{van~Tonder}, Rijnard and {Le~Goues}, Claire},
  booktitle = {International Conference on Software Engineering},
  series = {ICSE '18},
  pages = {151--162},
  month = may,
  year = {2018},
  publisher = {ACM},
  location = {Gothenburg, Sweden},
  doi = {10.1145/3180155.3180250}
}

Common Statement Kind Changes to Inform Automatic Program Repair, Mauricio Soto and Claire Le Goues, in International Conference on Mining Software Repositories, MSR Challenge ’18, 2018.
PDF · Code · DOI · BibTeX
@inproceedings{SotoMSRChallenge2018,
  title = {Common Statement Kind Changes to Inform Automatic Program
                    Repair},
  author = {Soto, Mauricio and {Le~Goues}, Claire},
  booktitle = {International Conference on Mining Software Repositories},
  series = {MSR Challenge '18},
  doi = {10.1145/3196398.3196472},
  month = may,
  year = {2018},
  location = {Gothenburg, Sweden}
}

Overfitting in Semantics-Based Automated Program Repair, Xuan-Bach D. Le, Ferdian Thung, David Lo, and Claire Le Goues, in International Conference on Software Engineering, ICSE (Journal First) ’18, 2018, p. 163.
PDF · DOI · BibTeX
@inproceedings{XuanBachOverfittingJF2018,
  title = {Overfitting in Semantics-Based Automated Program Repair},
  author = {Le, Xuan-Bach D. and Thung, Ferdian and Lo, David and {Le~Goues}, Claire},
  booktitle = {International Conference on Software Engineering},
  series = {ICSE (Journal First) '18},
  pages = {163},
  publisher = {ACM},
  doi = {10.1145/3180155.3182536},
  year = {2018},
  month = may,
  location = {Gothenburg, Sweden}
}

Overfitting in Semantics-based Automated Program Repair, Xuan-Bach D. Le, Ferdian Thung, David Lo, and Claire Le Goues, Empirical Software Engineering, Mar. 2018.
PDF · DOI · BibTeX
@article{XuanBachOverfitting2018,
  title = {Overfitting in Semantics-based Automated Program Repair},
  author = {Le, Xuan-Bach D. and Thung, Ferdian and Lo, David and {Le~Goues}, Claire},
  journal = {Empirical Software Engineering},
  year = {2018},
  month = mar,
  doi = {10.1007/s10664-017-9577-2}
}

Using a Probabilistic Model to Predict Bug Fixes, Mauricio Soto and Claire Le Goues, in International Conference on Software Analysis, Evolution, and Reengineering, SANER ’18, 2018, pp. 221–231.
PDF · Code · DOI · BibTeX
@inproceedings{SotoProbabilistic2018,
  title = {Using a Probabilistic Model to Predict Bug Fixes},
  author = {Soto, Mauricio and {Le~Goues}, Claire},
  booktitle = {International Conference on Software Analysis, Evolution, and
                    Reengineering},
  series = {SANER '18},
  month = mar,
  year = {2018},
  location = {Campobasso, Italy},
  pages = {221--231},
  doi = {10.1109/SANER.2018.8330211}
}

Improved Representation and Genetic Operators for Linear Genetic Programming for Automated Program Repair, Vinicius Paulo L. Oliveira, Eduardo F. Souza, Claire Le Goues, and Celso G. Camilo-Junior, Empirical Software Engineering, Jan. 2018.
PDF · DOI · BibTeX
@article{OliveiraRepresentation2018,
  title = {Improved Representation and Genetic Operators for Linear
                    Genetic Programming for Automated Program Repair},
  author = {Oliveira, Vinicius Paulo L. and Souza, Eduardo F. and {Le~Goues}, Claire and Camilo-Junior, Celso G.},
  journal = {Empirical Software Engineering},
  month = jan,
  year = {2018},
  doi = {10.1007/s10664-017-9562-9}
}

Genetic Improvement of Software (Dagstuhl Seminar 18052), Justyna Petke, Claire Le Goues, Stephanie Forrest, and William B. Langdon, Dagstuhl Reports, vol. 8, no. 1, pp. 158–182, 2018.
PDF · DOI · BibTeX
@article{DagstuhlGI2018,
  author = {Petke, Justyna and {Le~Goues}, Claire and Forrest, Stephanie and Langdon, William B.},
  title = {Genetic Improvement of Software (Dagstuhl Seminar 18052)},
  pages = {158--182},
  journal = {Dagstuhl Reports},
  issn = {2192-5283},
  year = {2018},
  volume = {8},
  number = {1},
  editor = {Petke, Justyna and {Le~Goues}, Claire and Forrest, Stephanie and Langdon, William B.},
  publisher = {Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
  address = {Dagstuhl, Germany},
  doi = {10.4230/DagRep.8.1.158}
}

An Investigation into the Use of Mutation Analysis for Automated Program Repair, Christopher Steven Timperley, Susan Stepney, and Claire Le Goues, in International Symposium on Search Based Software Engineering, SSBSE ’17, 2017, vol. 10452, pp. 99–114.
PDF · DOI · BibTeX
@inproceedings{TimperleyMBFL2017,
  author = {Timperley, Christopher Steven and Stepney, Susan and {Le~Goues}, Claire},
  title = {An Investigation into the Use of Mutation Analysis for
                    Automated Program Repair},
  booktitle = {International Symposium on Search Based Software Engineering},
  pages = {99--114},
  doi = {10.1007/978-3-319-66299-2_7},
  month = sep,
  year = {2017},
  location = {Paderborn, Germany},
  series = {SSBSE '17},
  volume = {10452},
  publisher = {Springer}
}

S3: Syntax- and Semantic-Guided Repair Synthesis via Programming by Examples, Xuan-Bach D. Le, Duc Hiep Chu, David Lo, Claire Le Goues, and Willem Visser, in Joint Meeting of the European Software Engineering Conference and the Symposium on the Foundations of Software Engineering, ESEC/FSE ’17, 2017, pp. 593–604.
PDF · DOI · BibTeX
@inproceedings{XuanBachS32017,
  author = {Le, Xuan-Bach D. and Chu, Duc Hiep and Lo, David and {Le~Goues}, Claire and Visser, Willem},
  title = {S3: Syntax- and Semantic-Guided Repair Synthesis via
                    Programming by Examples},
  booktitle = {Joint Meeting of the European Software Engineering Conference
                    and the Symposium on the Foundations of Software Engineering},
  series = {ESEC/FSE '17},
  doi = {10.1145/3106237.3106309},
  location = {Paderborn, Germany},
  publisher = {{ACM}},
  pages = {593--604},
  year = {2017},
  month = sep
}

JFIX: Semantics-Based Repair of Java programs via Symbolic PathFinder, Xuan-Bach D. Le, Duc Hiep Chu, David Lo, Claire Le Goues, and Willem Visser, in International Symposium on Software Testing and Analysis, ISSTA TOOLS ’17, 2017, pp. 376–379.
PDF · DOI · BibTeX
@inproceedings{XuanBachJFIX2017,
  author = {Le, Xuan-Bach D. and Chu, Duc Hiep and Lo, David and {Le~Goues}, Claire and Visser, Willem},
  title = {{JFIX}: {S}emantics-Based Repair of {J}ava programs via Symbolic
                    Path{F}inder},
  booktitle = {International Symposium on Software Testing and Analysis},
  series = {ISSTA TOOLS '17},
  pages = {376--379},
  location = {Santa Barbara, CA, USA},
  doi = {10.1145/3092703.3098225},
  month = jul,
  year = {2017},
  publisher = {ACM}
}

Clarifications on the Construction and Use of the ManyBugs Benchmark (Comment Paper), Claire Le Goues, Yuriy Brun, Stephanie Forrest, and Westley Weimer, IEEE Transactions on Software Engineering, vol. 43, no. 11, pp. 1089–1090, 2017.
PDF · DOI · BibTeX
@article{LeGouesClarifications2017,
  author = {{Le~Goues}, Claire and Brun, Yuriy and Forrest, Stephanie and Weimer, Westley},
  journal = {{IEEE} Transactions on Software Engineering},
  title = {Clarifications on the Construction and Use of the {M}any{B}ugs
                    Benchmark (Comment Paper)},
  volume = {43},
  number = {11},
  pages = {1089--1090},
  year = {2017},
  doi = {10.1109/TSE.2017.2755651}
}

Automated Program Repair (Dagstuhl Seminar 17022), Sunghun Kim, Claire Le Goues, Michael Pradel, and Abhik Roychoudhury, Dagstuhl Reports, vol. 7, no. 1, pp. 19–31, 2017.
PDF · DOI · BibTeX
@article{DagstuhlAPR2017,
  author = {Kim, Sunghun and {Le~Goues}, Claire and Pradel, Michael and Roychoudhury, Abhik},
  title = {{Automated Program Repair (Dagstuhl Seminar 17022)}},
  pages = {19--31},
  journal = {Dagstuhl Reports},
  issn = {2192-5283},
  year = {2017},
  volume = {7},
  number = {1},
  editor = {Kim, Sunghun and {Le~Goues}, Claire and Pradel, Michael and Roychoudhury, Abhik},
  publisher = {Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik},
  address = {Dagstuhl, Germany},
  doi = {10.4230/DagRep.7.1.19}
}

Improved Crossover Operators for Genetic Programming for Program Repair, Vinicius Paulo L. Oliveira, Eduardo F. D. Souza, Claire Le Goues, and Celso G. Camilo-Junior, in International Symposium on Search Based Software Engineering, Lecture Notes in Computer Science, 2016, vol. 9962, pp. 112–127.
PDF · DOI · BibTeX
@inproceedings{OliveiraCrossover2016,
  author = {Oliveira, Vinicius Paulo L. and Souza, Eduardo F. D. and {Le~Goues}, Claire and Camilo{-}Junior, Celso G.},
  title = {Improved Crossover Operators for Genetic Programming for
                    Program Repair},
  booktitle = {International Symposium on Search Based Software Engineering},
  series = {Lecture Notes in Computer Science},
  month = oct,
  doi = {10.1007/978-3-319-47106-8_8},
  pages = {112--127},
  year = {2016},
  location = {Raleigh, NC, USA},
  volume = {9962}
}

Enhancing Automated Program Repair with Deductive Verification, Xuan-Bach D. Le, Quang Loc Le, David Lo, and Claire Le Goues, in International Conference on Software Maintenance and Evolution, ICSME ERA ’16, 2016, pp. 428–432.
PDF · DOI · BibTeX
@inproceedings{XuanBachDeductive2016,
  author = {Le, Xuan-Bach D. and Le, Quang Loc and Lo, David and {Le~Goues}, Claire},
  title = {Enhancing Automated Program Repair with Deductive
                    Verification},
  booktitle = {International Conference on Software Maintenance and Evolution},
  series = {ICSME ERA '16},
  doi = {10.1109/ICSME.2016.66},
  pages = {428--432},
  month = oct,
  year = {2016},
  location = {Raleigh, NC, USA},
  publisher = {{IEEE} Computer Society}
}

Empirical Study on Synthesis Engines for Semantics-based Program Repair, Xuan-Bach D. Le, David Lo, and Claire Le Goues, in International Conference on Software Maintenance and Evolution, ICSME ERA ’16, 2016, pp. 423–427.
PDF · DOI · BibTeX
@inproceedings{XuanBachSynthesisEngines2016,
  author = {Le, Xuan-Bach D. and Lo, David and {Le Goues}, Claire},
  title = {Empirical Study on Synthesis Engines for Semantics-based
                    Program Repair},
  booktitle = {International Conference on Software Maintenance and
                    Evolution},
  series = {ICSME ERA '16},
  doi = {10.1109/ICSME.2016.68},
  pages = {423--427},
  month = oct,
  year = {2016},
  location = {Raleigh, NC, USA},
  publisher = {{IEEE} Computer Society}
}

A Deeper Look into Bug Fixes: Patterns, Replacements, Deletions, and Additions, Mauricio Soto, Ferdian Thung, Chu-Pan Wong, Claire Le Goues, and David Lo, in International Conference on Mining Software Repositories, MSR Challenge ’16, 2016, pp. 512–515.
PDF · DOI · BibTeX
@inproceedings{SotoMSRChallenge2016,
  author = {Soto, Mauricio and Thung, Ferdian and Wong, Chu-Pan and {Le~Goues}, Claire and Lo, David},
  title = {A Deeper Look into Bug Fixes: {P}atterns, Replacements,
                    Deletions, and Additions},
  booktitle = {International Conference on Mining Software Repositories},
  series = {MSR Challenge '16},
  month = may,
  year = {2016},
  pages = {512--515},
  numpages = {4},
  doi = {10.1145/2901739.2903495},
  location = {Austin, TX, USA},
  publisher = {{ACM}}
}

History Driven Program Repair, Xuan-Bach D. Le, David Lo, and Claire Le Goues, in International Conference on Software Analysis, Evolution, and Reengineering, SANER ’16, 2016, vol. 1, pp. 213–224.
PDF · DOI · BibTeX
@inproceedings{XuanBachHistory2016,
  author = {Le, Xuan-Bach D. and Lo, David and {Le~Goues}, Claire},
  booktitle = {International Conference on Software Analysis, Evolution, and
                    Reengineering},
  title = {History Driven Program Repair},
  series = {SANER '16},
  year = {2016},
  volume = {1},
  pages = {213-224},
  doi = {10.1109/SANER.2016.76},
  location = {Osaka, Japan},
  month = mar,
  publisher = {{IEEE} Computer Society}
}

Is the Cure Worse than the Disease? Overfitting in Automated Program Repair, Edward K. Smith, Earl Barr, Claire Le Goues, and Yuriy Brun, in Joint Meeting of the European Software Engineering Conference and the Symposium on the Foundations of Software Engineering, ESEC/FSE ’15, 2015, pp. 532–543.
PDF · DOI · BibTeX
@inproceedings{SmithOverfitting2015,
  author = {Smith, Edward K. and Barr, Earl and {Le~Goues}, Claire and Brun, Yuriy},
  title = {Is the Cure Worse than the Disease? {O}verfitting in Automated
                    Program Repair},
  booktitle = {Joint Meeting of the European Software Engineering Conference
                    and the Symposium on the Foundations of Software Engineering},
  series = {ESEC/FSE '15},
  month = sep,
  year = {2015},
  pages = {532--543},
  location = {Bergamo, Italy},
  publisher = {ACM},
  doi = {10.1145/2786805.2786825}
}

Repairing Programs with Semantic Code Search, Yalin Ke, Kathryn T. Stolee, Claire Le Goues, and Yuriy Brun, in Automated Software Engineering, ASE ’15, 2015, pp. 532–543.
PDF · Slides (PDF) · Code · DOI · BibTeX
@inproceedings{KeSearchRepair2015,
  author = {Ke, Yalin and Stolee, Kathryn T. and {Le~Goues}, Claire and Brun, Yuriy},
  title = {Repairing Programs with Semantic Code Search},
  booktitle = {Automated Software Engineering},
  year = {2015},
  series = {ASE '15},
  pages = {532--543},
  doi = {10.1109/ASE.2015.60}
}

Robotics Software QA/Bug Testing

Robotics and autonomous systems are becoming increasingly prevalent. These systems present new quality assurance challenges, which we both study and attempt to address via new testing and analysis techniques.

Related Publications

Simulation for Robotics Test Automation: Developer Perspectives, Afsoon Afzal, Deborah S. Katz, Claire Le Goues, and Christopher Steven Timperley, in International Conference on Software Testing, Validation and Verification, ICST ’21, 2021.
PDF · Data · BibTeX
@inproceedings{AfzalSimulation21,
  title = {Simulation for Robotics Test Automation: Developer Perspectives},
  author = {Afzal, Afsoon and Katz, Deborah S. and {Le~Goues}, Claire and Timperley, Christopher Steven},
  booktitle = {International Conference on Software Testing, Validation and
                    Verification},
  series = {ICST '21},
  year = {2021},
  month = apr
}

A Study on Challenges of Testing Robotic Systems, Afsoon Afzal, Claire Le Goues, Michael Hilton, and Christopher Steven Timperley, in International Conference on Software Testing, Validation and Verification, ICST ’20, 2020.
PDF · Data · BibTeX
@inproceedings{AfzalQualitative20,
  title = {A Study on Challenges of Testing Robotic Systems},
  author = {Afzal, Afsoon and {Le~Goues}, Claire and Hilton, Michael and Timperley, Christopher Steven},
  booktitle = {International Conference on Software Testing, Validation and
                    Verification},
  series = {ICST '20},
  location = {Porto, Portugal},
  year = {2020},
  month = mar
}

It Takes a Village to Build a Robot: An Empirical Study of The ROS Ecosystem, Sophia Kolak, Afsoon Afzal, Claire Le Goues, Michael Hilton, and Christopher Steven Timperley, in IEEE International Conference on Software Maintenance and Evolution, ICSME ’20, 2020, vol. .
PDF · Data · BibTeX
@inproceedings{KolakROS20,
  author = {Kolak, Sophia and Afzal, Afsoon and {Le Goues}, Claire and Hilton, Michael and Timperley, Christopher Steven},
  booktitle = {IEEE International Conference on Software Maintenance and Evolution},
  title = {It Takes a Village to Build a Robot: An Empirical Study of The {ROS} Ecosystem},
  year = {2020},
  series = {ICSME '20},
  volume = { },
  number = {},
  pages = {}
}

Detecting Execution Anomalies As an Oracle for Autonomy Software Robustness, Deborah S. Katz, Casidhe Hutchison, Milda Zizyte, and Claire Le Goues, in International Conference on Robotics and Automation, ICRA ’20, 2020, pp. 9367–9373.
PDF · BibTeX
@inproceedings{KatzDetecting2020,
  author = {Katz, Deborah S. and Hutchison, Casidhe and Zizyte, Milda and {Le~Goues}, Claire},
  title = {Detecting Execution Anomalies As an Oracle for Autonomy Software
  Robustness},
  booktitle = {International Conference on Robotics and Automation},
  series = {ICRA '20},
  year = {2020},
  pages = {9367--9373}
}

Robustness Inside Out Testing, Deborah S. Katz, Milda Zizyte, Casidhe Hutchison, David Guttendorf, Patrick E. Lanigan, Eric Sample, Philip Koopman, Michael Wagner, and Claire Le Goues, in Dependable Systems and Networks – Industry Track, DSN-I, 2020, pp. to appear.
PDF · BibTeX
@inproceedings{KatzRIOT2020,
  author = {Katz, Deborah S. and Zizyte, Milda and Hutchison, Casidhe and Guttendorf, David and Lanigan, Patrick E. and Sample, Eric and Koopman, Philip and Wagner, Michael and {Le~Goues}, Claire},
  title = {Robustness Inside Out Testing},
  booktitle = {Dependable Systems and Networks -- Industry Track},
  series = {DSN-I},
  year = {2020},
  pages = {to appear}
}

Robustness Testing of Autonomy Software, Casidhe Hutchison, Milda Zizyte, Patrick E. Lanigan, David Guttendorf, Michael Wagner, Claire Le Goues, and Philip Koopman, in International Conference on Software Engineering: Software Engineering in Practice, ICSE SEIP ’18, 2018, pp. 276–285.
PDF · DOI · BibTeX
@inproceedings{HutchisonRobustness2018,
  title = {Robustness Testing of Autonomy Software},
  author = {Hutchison, Casidhe and Zizyte, Milda and Lanigan, Patrick E. and Guttendorf, David and Wagner, Michael and {Le~Goues}, Claire and Koopman, Philip},
  booktitle = {International Conference on Software Engineering: Software
                    Engineering in Practice},
  series = {ICSE SEIP '18},
  year = {2018},
  month = may,
  location = {Gothenburg, Sweden},
  pages = {276--285},
  doi = {10.1145/3183519.3183534},
  publisher = {ACM}
}

Crashing Simulated Planes is Cheap: Can Simulation Detect Robotics Bugs Early?, Christopher Steven Timperley, Afsoon Afzal, Deborah Katz, Jam Marcos Hernandez, and Claire Le Goues, in International Conference on Software Testing, Validation and Verification, ICST ’18, 2018, pp. 331–342.
PDF · Data · DOI · BibTeX
@inproceedings{TimperleyCrashing2018,
  title = {Crashing Simulated Planes is Cheap: {C}an Simulation Detect
                    Robotics Bugs Early?},
  author = {Timperley, Christopher Steven and Afzal, Afsoon and Katz, Deborah and Hernandez, Jam Marcos and {Le~Goues}, Claire},
  booktitle = {International Conference on Software Testing, Validation and
                    Verification},
  series = {ICST '18},
  pages = {331--342},
  location = {V{\"{a}}ster{\aa}s, Sweden},
  doi = {10.1109/ICST.2018.00040},
  year = {2018},
  month = apr
}

Evaluating CoBlox: A Comparative Study of Robotics Programming Environments for Adult Novices, David Weintrop, Afsoon Afzal, Jean Salac, Patrick Francis, Boyang Li, David C. Shepherd, and Diana Franklin, in Conference on Human Factors in Computing Systems, CHI ’18, 2018, p. 366.
PDF · DOI · BibTeX
@inproceedings{WeintropCoBlox2018,
  title = {Evaluating CoBlox: A Comparative Study of Robotics Programming Environments
             for Adult Novices},
  author = {Weintrop, David and Afzal, Afsoon and Salac, Jean and Francis, Patrick and Li, Boyang and Shepherd, David C. and Franklin, Diana},
  booktitle = {Conference on Human Factors in Computing Systems},
  pages = {366},
  year = {2018},
  series = {CHI '18},
  doi = {10.1145/3173574.3173940},
  location = {Montreal, Canada}
}

Understanding Intended Behavior using Models of Low-Level Signals, Deborah S. Katz, in International Symposium on Software Testing and Analysis, ISSTA-DS ’17, 2017, pp. 424–427.
PDF · DOI · BibTeX
@inproceedings{KatzUnderstanding2017,
  author = {Katz, Deborah S.},
  title = {Understanding Intended Behavior using Models of Low-Level Signals},
  booktitle = {International Symposium on Software Testing and Analysis},
  series = {ISSTA-DS '17},
  year = {2017},
  pages = {424--427},
  doi = {10.1145/3092703.3098237}
}

Understanding Develop[ment/er] Practices

Software developers work on difficult problems in complex software situations. Tools that reduce the complexity of software development can improve both the quality of the developed software and reduce the time required to create the software. To produce tools that are useful to developers, it is important to understand current software development practices. We study developers and the software they produce to understand both the current state of software quality and which factors affect software quality.

Selected Developer Studies

Related Publications:

An Empirical Study of OSS-Fuzz Bugs, Zhen Yu Ding and Claire Le Goues, in International Conference on Mining Software Repositories, MSR ’21, 2021.
PDF · Data · BibTeX
@inproceedings{DingOSSFuzz21,
  title = {An Empirical Study of OSS-Fuzz Bugs},
  author = {Ding, {Zhen~Yu} and {Le~Goues}, Claire},
  booktitle = {International Conference on Mining Software Repositories},
  series = {MSR '21},
  year = {2021},
  month = may
}

A Qualitative Study on Framework Debugging, Zack Coker, David Gray Widder, Claire Le Goues, Chris Bogart, and Josh Sunshine, in IEEE International Conference on Software Maintenance and Evolution, ICSME ’19, 2019, vol. , pp. 568–579.
PDF · Slides (PDF) · Code · BibTeX
@inproceedings{CokerQualitative2019,
  author = {{Coker}, Zack and {Widder}, David Gray and {Le Goues}, Claire and {Bogart}, Chris and {Sunshine}, Josh},
  booktitle = {IEEE International Conference on Software Maintenance and Evolution},
  title = {A Qualitative Study on Framework Debugging},
  year = {2019},
  series = {ICSME '19},
  volume = { },
  number = {},
  pages = {568--579}
}

A Study on the Use of IDE Features for Debugging, Afsoon Afzal and Claire Le Goues, in International Conference on Mining Software Repositories, MSR Challenge ’18, 2018.
PDF · DOI · BibTeX
@inproceedings{AfzalMSRChallenge2018,
  title = {A Study on the Use of IDE Features for Debugging},
  author = {Afzal, Afsoon and {Le~Goues}, Claire},
  booktitle = {International Conference on Mining Software Repositories},
  series = {MSR Challenge '18},
  doi = {10.1145/3196398.3196468},
  month = may,
  year = {2018},
  location = {Gothenburg, Sweden}
}

Analyzing the Impact of Social Attributes on Commit Integration Success, Mauricio Soto, Zack Coker, and Claire Le Goues, in International Conference on Mining Software Repositories, MSR Challenge ’17, 2017, pp. 483–486.
PDF · Code · Data · Results · DOI · BibTeX
@inproceedings{SotoMSRChallenge2017,
  author = {Soto, Mauricio and Coker, Zack and {Le~Goues}, Claire},
  title = {Analyzing the Impact of Social Attributes on Commit
                    Integration Success},
  booktitle = {International Conference on Mining Software Repositories},
  series = {MSR Challenge ’17},
  year = {2017},
  pages = {483--486},
  doi = {10.1109/MSR.2017.34}
}

Behavior Metrics for Prioritizing Investigations of Exceptions, Zack Coker, Kostadin Damevski, Claire Le Goues, Nicholas A. Kraft, David Shepherd, and Lori Pollock, in International Conference on Software Maintenance and Evolution, ICSME ’17, 2017, pp. 554–563.
PDF · Slides (PowerPoint) · DOI · BibTeX
@inproceedings{CokerBehavior2017,
  author = {Coker, Zack and Damevski, Kostadin and {Le~Goues}, Claire and Kraft, Nicholas A. and Shepherd, David and Pollock, Lori},
  title = {Behavior Metrics for Prioritizing Investigations of
                    Exceptions},
  booktitle = {International Conference on Software Maintenance and
                    Evolution},
  series = {ICSME '17},
  year = {2017},
  pages = {554--563},
  doi = {10.1109/ICSME.2017.62}
}

Learning to Rank for Bug Report Assignee Recommendation, Yuan Tian, Dinusha Wijedasa, David Lo, and Claire Le Goues, in International Conference on Program Comprehension, ICPC ’16, 2016, pp. 1–10.
PDF · DOI · BibTeX
@inproceedings{TianRecommendation2016,
  author = {Tian, Yuan and Wijedasa, Dinusha and Lo, David and {Le~Goues}, Claire},
  booktitle = {International Conference on Program Comprehension},
  series = {ICPC '16},
  title = {Learning to Rank for Bug Report Assignee Recommendation},
  month = may,
  year = {2016},
  location = {Austin, TX, USA},
  publisher = {{IEEE} Computer Society},
  pages = {1--10},
  doi = {10.1109/ICPC.2016.7503715}
}

Examining Programmer Practices for Locally Handling Exceptions, Mary Beth Kery, Claire Le Goues, and Brad A. Myers, in International Conference on Mining Software Repositories, MSR Challenge ’16, 2016, pp. 484–487.
PDF · DOI · BibTeX
@inproceedings{KerryExceptions2016,
  author = {Kery, Mary Beth and {Le~Goues}, Claire and Myers, Brad A.},
  title = {Examining Programmer Practices for Locally Handling
                    Exceptions},
  booktitle = {International Conference on Mining Software Repositories},
  series = {MSR Challenge '16},
  month = may,
  year = {2016},
  pages = {484--487},
  numpages = {4},
  doi = {10.1145/2901739.2903497},
  location = {Austin, TX, USA},
  publisher = {{ACM}}
}

Evaluating the Flexibility of the Java Sandbox, Zack Coker, Michael Maass, Tianyuan Ding, Claire Le Goues, and Joshua Sunshine, in Annual Computer Security Applications Conference, ACSAC ’15, 2015, pp. 1–10.
PDF · Slides (PowerPoint) · Code · DOI · BibTeX
@inproceedings{CokerEvaluating2015,
  author = {Coker, Zack and Maass, Michael and Ding, Tianyuan and {Le~Goues}, Claire and Sunshine, Joshua},
  title = {Evaluating the Flexibility of the Java Sandbox},
  booktitle = {Annual Computer Security Applications Conference},
  series = {ACSAC '15},
  year = {2015},
  pages = {1--10},
  doi = {10.1145/2818000.2818003}
}

AI / Search-based Software Engineering

We are broadly interested in applying AI methods, including search-based approaches, to improve software engineering. In particular, we investigate applying these approaches to self-adaptive systems to enable complex software systems to autonomously respond to changes in their environments more effectively; this category also includes smaller projects employing these approaches that don’t fit neatly elsewhere.

Selected AI/Search-based Studies

Related Publications:

DIRE and its Data: Neural Decompiled Variable Renamings with respect to Software Class, Luke Dramko, Jeremy Lacomis, Pengcheng Yin, Edward J. Schwartz, Miltiadis Allamanis, Graham Neubig, Bodan Vasilescu, and Claire Le Goues, Transactions on Software Engineering and Methodology, 2022.
BibTeX
@article{DramkoDIREData2022,
  author = {Dramko, Luke and Lacomis, Jeremy and Yin, Pengcheng and Schwartz, Edward J. and Allamanis, Miltiadis and Neubig, Graham and Vasilescu, Bodan and {Le~Goues}, Claire},
  title = {DIRE and its Data: {N}eural Decompiled Variable Renamings with respect to Software Class},
  journal = {Transactions on Software Engineering and Methodology},
  year = {2022},
  series = {TOSEM '22}
}

Learning to Superoptimize Real-World Programs, Alexander G. Shypula, Pengcheng Yin, Jeremy Lacomis, Claire Le Goues, Edward J. Schwartz, and Graham Neubig, in Deep Learning for Code Workshop, DL4C ’22, 2022.
PDF · BibTeX
@inproceedings{ShypulaSuperoptimization2022,
  author = {Shypula, Alexander G. and Yin, Pengcheng and Lacomis, Jeremy and {Le~Goues}, Claire and Schwartz, Edward J. and Neubig, Graham},
  title = {Learning to Superoptimize Real-World Programs},
  booktitle = {Deep Learning for Code Workshop},
  year = {2022},
  series = {DL4C '22}
}

VarCLR: Variable Semantic Representation Pre-training via Contrastive Learning, Qibin Chen, Jeremy Lacomis, Edward J. Schwartz, Graham Neubig, Bogdan Vasilescu, and Claire Le Goues, in International Conference on Software Engineering, ICSE ’22, 2022.
PDF · BibTeX
@inproceedings{ChenVarCLR2022,
  author = {Chen, Qibin and Lacomis, Jeremy and Schwartz, Edward J. and Neubig, Graham and Vasilescu, Bogdan and {Le~Goues}, Claire},
  title = {{VarCLR}: {Variable} Semantic Representation Pre-training via Contrastive Learning},
  booktitle = {International Conference on Software Engineering},
  year = {2022},
  series = {ICSE '22}
}

Augmenting Decompiler Output with Learned Variable Names and Types, Qibin Chen, Jeremy Lacomis, Edward J. Schwartz, Claire Le Goues, Graham Neubig, and Bogdan Vasilescu, in USENIX Security Symposium, Oakland ’22, 2022.
PDF · BibTeX
@inproceedings{ChenDIRTY2022,
  author = {Chen, Qibin and Lacomis, Jeremy and Schwartz, Edward J. and {Le~Goues}, Claire and Neubig, Graham and Vasilescu, Bogdan},
  title = {Augmenting Decompiler Output with Learned Variable Names and Types},
  booktitle = {USENIX Security Symposium},
  year = {2022},
  series = {Oakland '22}
}

DIRE: A Neural Approach to Decompiled Identifier Naming, Jeremy Lacomis, Pengcheng Yin, Edward J. Schwartz, Miltiadis Allamanis, Claire Le Goues, Graham Neubig, and Bogdan Vasilescu, in International Conference on Automated Software Engineering, ASE ’19, 2019.
PDF · Data · BibTeX
@inproceedings{LacomisDIRE2019,
  author = {Lacomis, Jeremy and Yin, Pengcheng and Schwartz, Edward J. and Allamanis, Miltiadis and {Le~Goues}, Claire and Neubig, Graham and Vasilescu, Bogdan},
  title = {{DIRE}: {A} Neural Approach to Decompiled Identifier Naming},
  booktitle = {International Conference on Automated Software Engineering},
  year = {2019},
  series = {ASE '19}
}

DARTSim: An Exemplar for Evaluation and Comparison of Self-Adaptation Approaches for Smart Cyber-Physical Systems, Gabriel A. Moreno, Cody Kinneer, Ashutosh Pandey, and David Garlan, in Proceedings of the 14th International Conference on Software Engineering for Adaptive and Self-Managing Systems, To Appear SEAMS ’19, 2019.
PDF · BibTeX
@inproceedings{MorenoDART2019,
  author = {Moreno, Gabriel A. and Kinneer, Cody and Pandey, Ashutosh and Garlan, David},
  title = {DARTSim: An Exemplar for Evaluation and Comparison of Self-Adaptation Approaches for Smart Cyber-Physical Systems},
  booktitle = {Proceedings of the 14th International Conference on Software Engineering for Adaptive and Self-Managing Systems},
  series = {To Appear SEAMS '19},
  year = {2019},
  location = {Montreal, Canada},
  numpages = {7},
  publisher = {IEEE}
}

Statistical Machine Translation is a Natural Fit for Identifier Renaming in Software Source Code, Jeremy Lacomis, Alan Jaffe, Edward J. Schwartz, Claire Le Goues, and Bogdan Vasilescu, in Statistical Modeling of Natural Software Corpora, 2018 AAAI Workshop, 2018, pp. 771–774.
PDF · BibTeX
@inproceedings{LacomisSMTRenaming2018,
  author = {Lacomis, Jeremy and Jaffe, Alan and Schwartz, Edward J. and {Le~Goues}, Claire and Vasilescu, Bogdan},
  title = {Statistical Machine Translation is a Natural Fit for
                    Identifier Renaming in Software Source Code},
  booktitle = {Statistical Modeling of Natural Software Corpora, 2018 {AAAI}
                    Workshop},
  year = {2018},
  month = feb,
  pages = {771--774}
}

Dissimilarity Measures for Clustering Space Mission Architectures, Cody Kinneer and Sebastian J. I. Herzig, in Proceedings of the 21th ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, MODELS 2018, Copenhagen, Denmark, October 14-19, 2018, 2018, pp. 392–402.
PDF · Slides (PDF) · DOI · BibTeX
@inproceedings{KinneerDissimilarity2018,
  author = {Kinneer, Cody and Herzig, Sebastian J. I.},
  title = {Dissimilarity Measures for Clustering Space Mission Architectures},
  booktitle = {Proceedings of the 21th {ACM/IEEE} International Conference on Model
                 Driven Engineering Languages and Systems, {MODELS} 2018, Copenhagen,
                 Denmark, October 14-19, 2018},
  pages = {392--402},
  year = {2018},
  crossref = {DBLP:conf/models/2018},
  url = {http://doi.acm.org/10.1145/3239372.3239390},
  doi = {10.1145/3239372.3239390},
  timestamp = {Tue, 16 Oct 2018 10:17:16 +0200},
  biburl = {https://dblp.org/rec/bib/conf/models/KinneerH18},
  bibsource = {dblp computer science bibliography, https://dblp.org}
}

Meaningful Variable Names for Decompiled Code: A Machine Translation Approach, Alan Jaffe, Jeremy Lacomis, Edward J. Schwartz, Claire Le Goues, and Bogdan Vasilescu, in International Conference on Program Comprehension, ICPC ’18, 2018, pp. 20–30.
PDF · BibTeX
@inproceedings{JaffeDecompilerNames2018,
  author = {Jaffe, Alan and Lacomis, Jeremy and Schwartz, Edward J. and {Le~Goues}, Claire and Vasilescu, Bogdan},
  title = {Meaningful Variable Names for Decompiled Code: {A} Machine
                    Translation Approach},
  booktitle = {International Conference on Program Comprehension},
  year = {2018},
  series = {ICPC '18},
  pages = {20--30}
}

Managing Uncertainty in Self-Adaptive Systems with Plan Reuse and Stochastic Search, Cody Kinneer, Zack Coker, Jiacheng Wang, David Garlan, and Claire Le Goues, in Software Engineering for Adaptive and Self-Managing Systems, SEAMS ’18, 2018, pp. 40–50.
PDF · Slides (PDF) · Code · DOI · BibTeX
@inproceedings{KinneerManaging2018,
  author = {Kinneer, Cody and Coker, Zack and Wang, Jiacheng and Garlan, David and {Le~Goues}, Claire},
  title = {Managing Uncertainty in Self-Adaptive Systems with Plan Reuse
                    and Stochastic Search},
  booktitle = {Software Engineering for Adaptive and Self-Managing Systems},
  series = {SEAMS '18},
  year = {2018},
  pages = {40--50},
  doi = {10.1145/3194133.3194145}
}

SASS: Self-adaptation Using Stochastic Search, Zack Coker, David Garlan, and Claire Le Goues, in Software Engineering for Adaptive and Self-Managing Systems, SEAMS ’15, 2015, pp. 168–174.
PDF · Slides (PowerPoint) · Code · DOI · BibTeX
@inproceedings{CokerSASS2015,
  author = {Coker, Zack and Garlan, David and {Le~Goues}, Claire},
  title = {{SASS}: {S}elf-adaptation Using Stochastic Search},
  booktitle = {Software Engineering for Adaptive and Self-Managing Systems},
  series = {SEAMS '15},
  year = {2015},
  doi = {10.1109/SEAMS.2015.16},
  pages = {168--174}
}