Skip to content

Commit

Permalink
Merge pull request #2117 from betterscientificsoftware/curfman-patch-1
Browse files Browse the repository at this point in the history
Update DebunkingMyth.md
  • Loading branch information
curfman authored Jun 28, 2024
2 parents 8759668 + 6eaa3fe commit 705b5d9
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 4 deletions.
4 changes: 2 additions & 2 deletions CuratedContent/DebunkingMyth.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Debunking the Myth that Upfront Requirements are Infeasible for Scientific Computing Software

<!--- deck text start --->
The Debunking the Myth that Upfront Requirements are Infeasible for Scientific Computing Software paper argues that upfront requirements are feasible and beneficial for Scientific Computing Software.
The paper **Debunking the Myth That Upfront Requirements Are Infeasible for Scientific Computing Software** argues that upfront requirements are feasible and beneficial for scientific computing software.
<!--- deck text end --->

#### Contributed by [Rinku Gupta](https://github.com/rinkug)
Expand All @@ -12,7 +12,7 @@ Resource information | Details
:--- | :---
Paper title | Debunking the Myth that Upfront Requirements are Infeasible for Scientific Computing Software
Authors | Spencer Smith, Malavika Srinivasan, and Sumanth Shankar
Publication | Year 2019, DOI: [10.1109/SE4Science.2019.00011](https://www.doi.org/10.1109/SE4Science.2019.00011)
Publication | 2019, DOI: [10.1109/SE4Science.2019.00011](https://www.doi.org/10.1109/SE4Science.2019.00011)



Expand Down
4 changes: 2 additions & 2 deletions CuratedContent/PortabilityIsReliability.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,12 +15,12 @@ Focus | Testing, Software sustainability, Reliability
In this article, the author highlights a number of ways in which compiling and running code with different compilers and architectures improves the quality and reliability of the code.
Different compilers are better at manifesting and catching different kinds of issues.
The article mentions, for example, that clang often catches a larger set of issues than does gcc.
It also explains that, in spite of challenges in using MSVC, one of the great advantages of compiling with it may be its static analyzer which, in the author's opinion, may be the best part of the MSVC compiler.
The article also explains that, in spite of challenges in using MSVC, one of the great advantages of compiling with it may be its static analyzer, which, in the author's opinion, may be the best part of the MSVC compiler.

The article also explains the importance of doing development with as many compiler warnings enabled as possible using flags such as `-Wall`, `-Wextra`, `-Weverything` and `-Werror` or `/W4` for MSVC.
By including compilation with strict warningns enabled and with different compilers in CI, it is possible to catch and prevent a lot of issues before they make it into a committed version of the code.

The author also mentions the value in using different architectures such as armv7 (which is more strict about aliasing violations) or s390x (which is a big endian architecture) to also help shake out issues with code. Using various available compilers and architectures (as containers for example) on a code base is a great way to take advantage of some available automation to find and prevent issues from creeping into a code base.
The author also mentions the value in using different architectures such as armv7 (which is more strict about aliasing violations) or s390x (which is a big endian architecture) to help shake out issues with code. Using various available compilers and architectures (as containers for example) on a code base is a great way to take advantage of some available automation to find and prevent issues from creeping into a code base.

<!---
Publish: yes
Expand Down

0 comments on commit 705b5d9

Please sign in to comment.