Research

Here we list our research efforts by subject, linked to the section in the publication page that further links to the materials associated with each project. If you can’t find something or think we’ve forgotten anything, please contact us directly or file an issue with this page at https://github.com/squaresLab/squaresLab.github.io.


Program Repair

The error repair process in software systems is, historically, a resource-consuming task that relies heavily on manual developer effort. Automatic program repair approaches enable the repair of software with minimum human interaction mitigating the burden on developers. We have created and analyzed existing automatic program repair approaches to improve their performance and quality of created patches. This includes sub-areas such as:

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.

SearchRepair

SearchRepair extends and uses semantic code search over large repositories of candidate code bases to produce high-quality bug patches.

RepairBox

RepairBox is an ongoing effort to provide a series of controlled environments for performing experiments on buggy C programs, particularly for program repair; it supports a number of bug scenarios from existing datasets, including ManyBugs. We are especially working to transition as many of the ManyBugs scenarios as possible to be reproducible in modern environments (no more relying on Fedora 13!), primarily through the use of Docker.

Improving Patch Quality

A problem automatic program repair approaches commonly suffer is generating low-quality patches which overfit to one program specification as described by the guiding test suite, thus not generalizing to an independent oracle evaluation. Our work proposes a set of mechanisms to incentivize the creation of high-quality patches.

Program Repair Related Publications:

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, To Appear GI ’19, 2019.
PDF · 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 = {To Appear GI '19},
  year = {2019},
  project = {repair}
}

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},
  project = {repair},
  month_numeric = {7}
}

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},
  project = {repair},
  month_numeric = {5}
}

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},
  project = {repair},
  month_numeric = {5}
}

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},
  project = {repair},
  month_numeric = {5}
}

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},
  project = {repair},
  month_numeric = {3}
}

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},
  project = {repair},
  month_numeric = {3}
}

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},
  project = {repair},
  month_numeric = {1}
}

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},
  project = {repair}
}

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},
  project = {repair},
  month_numeric = {9}
}

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,
  project = {repair},
  month_numeric = {9}
}

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},
  project = {repair},
  month_numeric = {7}
}

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},
  project = {repair}
}

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},
  project = {repair}
}

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},
  project = {repair},
  month_numeric = {10}
}

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},
  project = {repair},
  month_numeric = {10}
}

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},
  project = {repair},
  month_numeric = {10}
}

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}},
  project = {repair},
  month_numeric = {5}
}

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},
  project = {repair},
  month_numeric = {3}
}

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},
  project = {repair},
  month_numeric = {12}
}

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},
  project = {repair},
  month_numeric = {9}
}

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},
  project = {repair}
}

ManyBugs and IntroClass

ManyBugs and IntroClass are benchmarks intended to support evaluations of program repair research. More info at the repairbenchmarks site.

Related Publications:

Robotics Software QA/Bug Testing

Robotics and autonomous systems are becoming increasingly prevalent. These systems present new quality assurance challenges.

Related Publications

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},
  project = {robots},
  month_numeric = {5}
}

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,
  project = {robots},
  month_numeric = {4}
}

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},
  project = {robots}
}

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},
  project = {robots},
  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. Our group studies developers and produced software to understand both the current state of software quality and which factors affect software quality. We then produce tools to advance the current state of software quality.

Related Publications:

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},
  project = {develop},
  month_numeric = {5}
}

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},
  project = {develop}
}

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},
  project = {develop}
}

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},
  project = {develop},
  month_numeric = {5}
}

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}},
  project = {develop},
  month_numeric = {5}
}

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},
  project = {develop}
}

AI / Search-based Software Engineering

We are broadly interested in applying AI methods, including search-based approaches, to improve the engineering of software. 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, although this category also includes smaller projects employing these approaches that don’t fit neatly into other projects.

Related Publications:

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},
  project = {ai-sbe}
}

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},
  project = {ai-sbe}
}

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},
  project = {ai-sbe}
}

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},
  project = {ai-sbe}
}