Skip to content

Commit

Permalink
finish cleanup of research page
Browse files Browse the repository at this point in the history
  • Loading branch information
clegoues committed May 1, 2024
1 parent c5e2d6a commit 0ede8f6
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 50 deletions.
29 changes: 16 additions & 13 deletions _bibliography/publications.bib
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,8 @@ @inproceedings{canelas2024physunits
title = {Is it a Bug? Understanding Physical Unit Mismatches in Robot Software},
booktitle = {International Conference on Robotics and Automation},
pages = {1--7},
year = {2024}
year = {2024},
project = {robots,develop}
}

@inproceedings{yang2024large,
Expand Down Expand Up @@ -473,7 +474,7 @@ @inproceedings{KolakROS20
number = {},
pages = {},
data = {https://doi.org/10.5281/zenodo.3997720},
project = {robots}
project = {robots,develop}
}

@inproceedings{KatzDetecting2020,
Expand All @@ -484,7 +485,7 @@ @inproceedings{KatzDetecting2020
series = {ICRA '20},
year = {2020},
pages = {9367--9373},
project = {robots, ai}
project = {robots,ai}
}

@inproceedings{durieux20msr,
Expand All @@ -495,7 +496,8 @@ @inproceedings{durieux20msr
location = {Seoul, Republic of Korea},
publisher = {{ACM}},
year = {2020},
doi = {10.1145/3379597.3387460}
doi = {10.1145/3379597.3387460},
project = {develop}
}

@inproceedings{KatzRIOT2020,
Expand Down Expand Up @@ -568,7 +570,7 @@ @inproceedings{AfzalQualitative20
year = 2020,
month = {March},
data = {https://doi.org/10.5281/zenodo.3625199},
project = {robots}
project = {robots,develop}
}

@inproceedings{msr19rvt,
Expand Down Expand Up @@ -684,7 +686,8 @@ @ARTICLE{MARS2019
number = {2},
pages = {83-90},
doi = {10.1109/MS.2018.2885058},
month = {March}
month = {March},
project = {robots}
}

@inproceedings{pldi19,
Expand Down Expand Up @@ -728,7 +731,7 @@ @inproceedings{WeintropCoBlox2018
series = {CHI '18},
doi = {10.1145/3173574.3173940},
location = {Montreal, Canada},
project = {robots}
project = {robots,develop}
}

@inproceedings{KinneerDissimilarity2018,
Expand All @@ -746,7 +749,7 @@ @inproceedings{KinneerDissimilarity2018
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}
project = {ai}
}

@article{sw18ebm,
Expand Down Expand Up @@ -1049,7 +1052,7 @@ @InProceedings{TimperleyCrashing2018
year = 2018,
month = {April},
data = {https://github.com/squaresLab/ArduBugs},
project = {robots,benchmarks}
project = {robots,benchmarks,develop}
}

@InProceedings{SotoProbabilistic2018,
Expand Down Expand Up @@ -1163,7 +1166,7 @@ @InProceedings{TianRecommendation2016
publisher = {{IEEE} Computer Society},
pages = {1--10},
doi = {10.1109/ICPC.2016.7503715},
project = {develop,ai}
project = {ai}
}

@InProceedings{OliveiraCrossover2016,
Expand Down Expand Up @@ -1243,7 +1246,7 @@ @InProceedings{SotoMSRChallenge2018
year = 2018,
location = {Gothenburg, Sweden},
code = {https://github.com/squaresLab/ChallengeMau_MSRChallenge2018},
project = {repair, new-repair}
project = {repair, new-repair, develop}
}

@InProceedings{AfzalMSRChallenge2018,
Expand Down Expand Up @@ -1349,7 +1352,7 @@ @InProceedings{SotoMSRChallenge2016
doi = {10.1145/2901739.2903495},
location = {Austin, TX, USA},
publisher = {{ACM}},
project = {repair,eval}
project = {repair,eval,develop}
}

@InProceedings{XuanBachOverfittingJF2018,
Expand Down Expand Up @@ -1424,7 +1427,7 @@ @InProceedings{KatzRNN2018
pages = {346--356},
location = {Campobasso, Italy},
doi = {10.1109/SANER.2018.8330222},
project = {decomp}
project = {decomp,ai}
}

@inproceedings{KatzUnderstanding2017,
Expand Down
57 changes: 20 additions & 37 deletions research.md
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ Papers analyzing or evaluating specific components of GP-based repair are (addit

{% capture other_transformation %}

Transformation has many uses in software engineering developer tooling, and many problems are amenable to a repair-like approach. We have explored transformation for [API migration (SOAR)](/publications/#SOAR21) and [API upgrades (MELT)](/publications/#RamosMLMMG23), and for [transpilation (BatFix)](/publications/#batfix). We have also [improved static analysis via program transformation](/publications/#icse2020transform) and used it to [triage fuzz tests](https://github.com/squaresLab/SemanticCrashBucketing). Beyond triage, we have an ongoing body of work for general-purpose transformation in the context of fuzz and mutation testing:
Transformation has many uses in software engineering developer tooling, and many problems are amenable to a repair-like approach. We have explored transformation for [API migration (SOAR)](/publications/#SOAR21) and [API upgrades (MELT)](/publications/#RamosMLMMG23), [transpilation (BatFix)](/publications/#batfix), and [clone mitigation](/publications/#vanTonderMicroClones2016). We have also [improved static analysis via program transformation](/publications/#icse2020transform) and used it to [triage fuzz tests](https://github.com/squaresLab/SemanticCrashBucketing). Beyond triage, we have an ongoing body of work for general-purpose transformation in the context of fuzz and mutation testing:

{% bibliography --query @*[project~=transform-testing] %}

Expand Down Expand Up @@ -318,50 +318,33 @@ Our work often leverages advances in AI to develop new development tools and QA

## 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
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
study developers and the software and artifacts they produce to understand both the current
state of software quality and which factors affect software quality.

#### Selected Developer Studies

## Tools for Humans
**Related Publications:**
- [A Study on the Use of IDE Features for Debugging](/publications/#AfzalMSRChallenge2018)
- [A Deeper Look into Bug Fixes: Patterns, Replacements, Deletions, and Additions](/publications/#SotoMSRChallenge2016)
{% capture human_papers %}

{% bibliography --query @*[project~=develop] %}

{% endcapture %}

* [Framework Debugging](https://squareslab.github.io/materials/CokerQualitative2019.pdf): an investigation into the challenges of debugging framework application problems. One important finding was that in framework debugging, developers have a difficult time determining the correct way to implement a fix.
* [Social Attributes on Commit Integration](https://squareslab.github.io/materials/AfzalMSRChallenge2018.pdf): a quick investigation on how the GitHub social attributes of developers can be used to predict if a commit will be accepted or not.
* [Prioritizing Exceptions with Behavior Metrics](https://squareslab.github.io/materials/CokerBehavior2017.pdf): a study performed in collaboration with [ABB Inc.](https://new.abb.com) that recommended which exception to fix based on the next actions that users took with the tool after an exception occurred.
* [Java Sandbox](https://squareslab.github.io/materials/CokerEvaluating2015.pdf): an investigation into the security implications of how the Java sandbox is used in open source projects.

**Related Publications:**
{% bibliography --query @*[project~=develop] %}

## 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.
<div id="humanAccordian">

#### Selected AI/Search-based Studies
<div class="card">
<div class="card-header" id="headingHuman">
<h5 class="mb-0">
<button class="btn btn-link" data-toggle="collapse" data-target="#collapseHuman" aria-expanded="true" aria-controls="collapseHuman">
Understanding SE and QA practices
</button>
</h5>
</div>
<div id="collapseHuman" class="collapse" aria-labelledby="headingHuman" data-parent="#humanAccordian">
<div class="card-body">{{ human_papers | markdownify }}</div>
</div>
</div>

* [Plan Reuse for Self-Adaptive Systems](https://squareslab.github.io/materials/KinneerManaging2018.pdf): as systems become more complex, these systems will automatically adapt to changes in the environment. However, it will be impossible to encode all possible environment changes into the self-adaptive system. Thus, we wanted to know if self-adaptive systems can reuse previously created plans to help plan for a new change. The answer was yes in certain cases.
* [Stochastic search in self-adaptive systems](https://squareslab.github.io/materials/CokerSASS2015.pdf): a position paper that discusses possible future applications of stochastic search techniques to self-adaptive systems.
* [Decompiled Identifier Renaming
Engine (DIRE)](https://squareslab.github.io/materials/LacomisDIRE2019.pdf):
decompilers can reconstruct much of the information that is lost during
compilation, but unfortunately meaningful variable names are discarded. DIRE
uses neural networks trained on code written by developers to automatically
generate meaningful identifier names.
</div>

**Related Publications:**
{% bibliography --query @*[project~=ai-sbe] %}

0 comments on commit 0ede8f6

Please sign in to comment.