You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: research.md
+20-37Lines changed: 20 additions & 37 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -98,7 +98,7 @@ Papers analyzing or evaluating specific components of GP-based repair are (addit
98
98
99
99
{% capture other_transformation %}
100
100
101
-
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:
101
+
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:
@@ -318,50 +318,33 @@ Our work often leverages advances in AI to develop new development tools and QA
318
318
319
319
## Understanding Develop[ment/er] Practices
320
320
321
-
Software developers work on difficult problems in complex software situations.
322
-
Tools that reduce the complexity of software development can improve both
323
-
the quality of the developed software and reduce the time required to
324
-
create the software. To produce tools that are useful to developers, it is
321
+
To produce tools that are useful to developers, it is
325
322
important to understand current software development practices. We
326
-
study developers and the software they produce to understand both the current
323
+
study developers and the software and artifacts they produce to understand both the current
327
324
state of software quality and which factors affect software quality.
328
325
329
-
#### Selected Developer Studies
330
-
331
-
## Tools for Humans
332
-
**Related Publications:**
333
-
-[A Study on the Use of IDE Features for Debugging](/publications/#AfzalMSRChallenge2018)
334
-
-[A Deeper Look into Bug Fixes: Patterns, Replacements, Deletions, and Additions](/publications/#SotoMSRChallenge2016)
326
+
{% capture human_papers %}
335
327
328
+
{% bibliography --query @*[project~=develop] %}
336
329
330
+
{% endcapture %}
337
331
338
-
*[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.
339
-
*[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.
340
-
*[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.
341
-
*[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.
342
-
343
-
**Related Publications:**
344
-
{% bibliography --query @*[project~=develop] %}
345
332
346
-
## AI / Search-based Software Engineering
347
333
348
-
We are broadly interested in applying AI methods, including search-based
349
-
approaches, to improve software engineering. In particular, we
350
-
investigate applying these approaches to self-adaptive systems to enable complex
351
-
software systems to autonomously respond to changes in their environments more
352
-
effectively; this category also includes smaller projects employing
*[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.
358
-
*[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.
0 commit comments