diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ae06eab..6a1a348 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,21 +9,21 @@ on: jobs: # FIXME: windows runner throws System.OutOfMemoryException : Insufficient memory to continue the execution of the program. -# windows-build: -# runs-on: windows-latest -# -# steps: -# - uses: actions/checkout@v2 -# - name: Setup .NET -# uses: actions/setup-dotnet@v1 -# with: -# dotnet-version: 5.x -# - name: Restore dependencies -# run: dotnet restore -# - name: Build -# run: dotnet build --no-restore -# - name: Test -# run: dotnet test --no-build --verbosity normal + windows-build: + runs-on: windows-latest + + steps: + - uses: actions/checkout@v2 + - name: Setup .NET + uses: actions/setup-dotnet@v1 + with: + dotnet-version: 6.x + - name: Restore dependencies + run: dotnet restore + - name: Build + run: dotnet build --no-restore -- RunConfiguration.TargetPlatform="x64" + - name: Test + run: dotnet test --no-build --verbosity normal -- RunConfiguration.TargetPlatform="x64" ubuntu-build: runs-on: ubuntu-latest diff --git a/docs/research.md b/docs/research.md new file mode 100644 index 0000000..46d278c --- /dev/null +++ b/docs/research.md @@ -0,0 +1,35 @@ +# Research + +**Overview** + +[Martin Odermatt](https://github.com/marodev), [Diego Marcilio](https://dvmarcilio.github.io/), and [Carlo A. Furia](https://bugcounting.net/publications.html). +Static Analysis Warnings and Automatic Fixing: A Replication for C# Projects. +In Proceedings of the 29th International Conference on Software Analysis, Evolution and Reengineering (SANER) — Reproducibility Studies and Negative Results track (RENE). + + +**Abstract** + +Static analyzers have become increasingly popular both as developer tools and as subjects of empirical studies. Whereas static analysis tools exist for disparate programming languages, the bulk of the empirical research has focused on the popular Java programming language. +In this paper, we investigate to what extent some known results about using static analyzers for Java change when considering C# — another popular object-oriented language. To this end, we combine two replications of previous Java studies. First, we study which static analysis tools are most widely used among C# developers, and which warnings are more commonly reported by these tools on open-source C# projects. Second, we develop and empirically evaluate EagleRepair: a technique to automatically fix code in response to static analysis warnings; this is a replication of our previous work for Java. +Our replication indicates, among other things, that static code analysis is fairly popular among C# developers too; ReSharper is the most widely used static analyzer for C#; several static analysis rules are commonly violated in both Java and C# projects; automatically generating fixes to static code analysis warnings with good precision is feasible in C#.The EagleRepair tool developed for this research is available as open source. + + + +**Cite** + + @InProceedings{OMF-SANER22, + author = {Martin Odermatt and Diego Marcilio and Carlo A. Furia}, + title = {Static Analysis Warnings and Automatic Fixing: A Replication for C\# Projects}, + booktitle = {Proceedings of the 29th International Conference + on Software Analysis, Evolution and Reengineering (SANER)}, + OPTpages = {XX--XX}, + year = {2022}, + month = {March}, + publisher = {IEEE Computer Society}, + note = {RENE (Reproducibility Studies and Negative Results) track}, + acceptancerate = {43\%} + } + +**Download** + +The paper can be downloaded [here](https://bugcounting.net/pubs/saner22-eaglerepair.pdf). \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index f3ce15f..a77a697 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,12 +1,13 @@ site_name: EagleRepair -copyright: Copyright © 2021 Martin Odermatt +copyright: Copyright © 2022 Martin Odermatt, Diego Marcilio, Carlo A. Furia repo_url: https://github.com/marodev/EagleRepair site_url: https://marodev.github.io/EagleRepair extra: - version: 0.0.30 social: - icon: fontawesome/brands/github link: https://github.com/marodev/EagleRepair + - icon: fontawesome/brands/linkedin + link: https://linkedin.com/in/marodev extra_javascript: - https://cdnjs.cloudflare.com/ajax/libs/highlight.js/10.7.2/highlight.min.js - javascripts/config.js @@ -17,6 +18,7 @@ markdown_extensions: - pymdownx.highlight - pymdownx.superfences - admonition + - pymdownx.details theme: name: material