Research Software Group Software as Research by Simon Hartley (IT Services) November 2018
Previous Projects Live Demo Intl. Journal of Temporal Deflective Behavior Vol. 4, No. 2030, pp.602, 2018 Copyright c 2008 J. Cham. All rights reserved
Sharing Software For Science: Why? Monya Baker, 1,500 scientists lift the lid on reproducibility Nature, 533(7604), 452, 2016 https://doi.org/10.1038/533452a
Sharing Software For Science Every Field Uses software to some degree or have a data pipeline.
Sharing Software For Science BEAR to the Rescue
Software as Research: quality the non-functional characteristics The subjective quality of a software system is largely based on its non-functional characteristics. This reflects practical user experience – if the software’s functionality is not what is expected, then users will often just work around this and find other ways to do what they want to do. However, if the software is unreliable or too slow, then it is practically impossible for them to achieve their goals. Has the software been properly tested? Is the software sufficiently dependable to be put into use? Is the performance of the software acceptable for normal use? Is the software usable? Is the software well-structured and understandable? Have programming and documentation standards been followed in the development process? 2. Ian Sommerville. 2010. Software Engineering (9th ed.). Addison-Wesley Publishing Company, , USA.
Software as Research: Software Quality attributes Safety Understandability Portability Security Testability Usability Reliability Adaptability Reusability Resilience Modularity Efficiency Robustness Complexity Learnability
Software as Research: Tools for Sharing Style Guides (PEP8,..etc) SVN GIT Continuous Integration Docker Virtual Machines Python Environments Vagrant
What Git Does COMMITS Should be Atomic Self contained Coherent Consistant No Compilation errors No Failed Tests Incremental Ordered Explanetary Documented - Add a message and online notes -
What Git Does Distribute Final Version (UP Stream)
Git GUI vs Shell GUI Shell Graphical User Interface Looks nice with buttons, boxes, and other components Shell Runs from command line Looks like a lot of text, and it can be easy to get lost or confused for beginners Essentially, a GUI is like typing in Microsoft Word, while a shell is like typing in Latex. You cannot control the layout like latex could but is easier to use. Both are useful, so it is good to know how to use both
What about Data? Tidy Data Principles Data Carpentry In R
DOI For Research Software
Questions Any Questions
References Wilson G, Aruliah DA, Brown CT, Chue Hong NP, Davis M, Guy RT, et al. (2014) Best Practices for Scientific Computing. PLoS Biol 12(1): e1001745. https://doi.org/10.1371/journal.pbio.1001745 2. Ian Sommerville. 2010. Software Engineering (9th ed.). Addison-Wesley Publishing Company, , USA. 3. Katz, D. (2014). Transitive credit as a means to address social and technological concerns stemming from citation and attribution of digital products. Journal of Open Research Software, 2(1), e20. Retrieved from https://doi.org/10.5334/jors.be 4. Wickham, H. 2014 Sep 12. Tidy Data. Journal of Statistical Software. [Online] 59:10 5. Jeff Leek, The Elements of Data Analytic Style, Leanpub, 2015-03-02