SlideShare une entreprise Scribd logo
1  sur  39
Scientific Software:
sustainability, skills & sociology
Neil Chue Hong, N.ChueHong@software.ac.uk
Director, Software Sustainability Institute
US/IAEA Workshop on Software Sustainability
for Safeguards Instrumentation, Vienna
Institute
Software
Sustainability
www.software.ac.uk
The Software Sustainability Institute
A national facility for cultivating world-
class research through software
• Better software enables better research
• Software reaches boundaries in its
development cycle that prevent
improvement, growth and adoption
• Providing the expertise and services
needed to negotiate to the next stage
• Developing the policy and tools to
support the community developing and
using research software
Supported by EPSRC
Grant EP/H043160/1
Institute
Software
Sustainability
www.software.ac.uk
Anatomy of my talk
Institute
Software
Sustainability
www.software.ac.uk
SOFTWAREis…
…areIMPORTANT
everywhere
hard to define
long-lived
context
reasons
people
Software is everywhere
(even where you expect it)
Institute
Software
Sustainability
www.software.ac.uk
Software is pervasive
Institute
Software
Sustainability
Tamiflu binding to mutant influenza
A water-swap reaction coordinate for the calculation of
absolute protein-ligand binding free energies
Woods CJ, Malaisree M, Hannongbua S, Mulholland AJ
J. Chem. Phys. (2011) vol. 134, pp. 054114
http://dx.doi.org/10.1063/1.3519057
Favouring of disease risk alleles
Selection at pleiotropic loci underlies disease
co-occurrence in human populations.
Navarro, Haley, Karosas et al.
Submitted to Nature Genetics
Behind every great piece of science…
#go through each SNP of interest
for(my $x = 0; $x < scalar @pos; $x++)
{
#and then each downstream SNP of interest
for(my $y = $x+1; $y < scalar @pos; $y++)
{
#if SNPs within our chosen distance (500kb) and both present in the haplotypes file
if((!($trait[$x] eq $trait[$y])) && (abs($pos[$x] - $pos[$y]) <= 500000) && (exists($legArr
{
my $snp1ArrayPos = "”;
my $snp2ArrayPos = "”;
my $snp1All = "”;
my $snp2All = "”;
#create output file for this SNP pair
my $filename = "ConditionedResults2/$chr[$x].$pos[$x]-$pos[$y].EHH.GBR.2.txt”;
print "$filenamen”;
unless (-e $filename) {
open(OUT, ">$filename");
#####################CHANGE THESE IF NOT FOCUSING ON SECOND SNP####################
my $start = $pos[$y]-500000;
if ($start < 1) {
$start = 1;
}
my $end = $pos[$y]+500000;
if ($end > $chrLengths{$chr[$x]}) {
$end = $chrLengths{$chr[$x]};
}
Software is long-lived
(and outlasts computational hardware)
Institute
Software
Sustainability
www.software.ac.uk
Architectural Dominance
Institute
Software
Sustainability
www.software.ac.uk
Image courtesy PDES Inc
Slide from Sean Barker, BAE SYSTEMS, DPC Designed to Last
Computational Chemistry - CASTEP
From the first implementation of a DFT algorithm to a
completely new code to community supported software
• Individual
• Group
• Consortium
• W/ industry
• Community
• Active
Software advances
< hardware speedup
13http://www.castep.org/
Institute
Software
Sustainability
www.software.ac.uk
LOTAR: storing aeronautical models
Life of CAD System: 10 years
Time between CAD Versions: 6 months
Life of Product: 70 years +
time
Production
CAD Obsolete
CAD Forgotten
Services
Legal Liability
Modifications
10 years 20 30 40 50 60
Spares
Image courtesy PDES Inc
Slide from Sean Barker, BAE SYSTEMS, DPC Designed to Last
Institute
Software
Sustainability
www.software.ac.uk
So we have to maintain it…
• “The modification of a software product after
delivery to correct faults, to improve
performance or other attributes, or to adapt the
product to a modified environment” – IEEE defn.
– Corrective maintenance: fixing faults
– Adaptive maintenance: adapting to changes in
environment
– Perfective maintenance: meeting new/different user
requirements
– Preventative maintenance: increasing maintainability
Institute
Software
Sustainability
www.software.ac.uk
… because we cannot change this
with process and practice alone …
• “Many of us have tried to discover
ways to prevent code from
becoming legacy. But …
prevention is imperfect. Even the
most disciplined development
team, knowing the best principles,
using the best patterns, and
following the best practices will
create messes from time to time.
The rot still accumulates. It’s not
enough to prevent the rot – you
have to be able to reverse it.”
Institute
Software
Sustainability
www.software.ac.uk
… so we work with what we have
• Identify change points
• Find test points
• Break dependencies
• Write tests
• Make changes and refactor
Testing, infrastructure, documentation are key
Institute
Software
Sustainability
www.software.ac.uk
Software is hard to define
(and thus hard to sustain)
Institute
Software
Sustainability
www.software.ac.uk
What do we sustain:
- Workflow?
- Software that runs workflow?
- Software referenced by workflow?
Novel reuse of public sector data
http://www.mysociety.org
What do we sustain:
- Map?
- Software that creates map?
Sustaining Function or Form
21
What do we sustain:
- Function?
- Form?
Context is important
(otherwise all you have is an object)
Institute
Software
Sustainability
www.software.ac.uk
Comb badge, Museum of London
• Without context, objects have no meaning
What’s this item?
32x28mm, lead alloy, late Medieval 14-15th century
What about repositories?
re⋅pos⋅i⋅tor⋅y
/noun/ [ri-poz-i-tawr-ee]
• 1. a receptacle or place where things are
deposited, stored, or offered for sale.
• 2. a burial place; sepulchre.
Institute
Software
Sustainability
www.software.ac.uk
The Zombie Effect
• Software not always fully alive
when you reanimate it!
• Complex set of dependencies
– Significant Properties of Software
– Purposes and benefits of
software preservation
http://www.jisc.ac.uk/media/documents/
programmes/preservation/significantprop
ertiesofsoftware-final.doc
http://softwarepreservation.jiscinvolve.org/wp/
Reasons are important
(so you take the right approach)
Institute
Software
Sustainability
www.software.ac.uk
Why are you considering
software sustainability?
Achieve legal compliance
Create heritage value
Enable continued access
to data and services
Encourage software reuse
Purpose
Institute
Software
Sustainability
www.software.ac.uk
How are you going to choose the right
approach?
Preservation (techno-centric)
Emulation (data-centric)
Migration (functionality-centric)
Transition (process-centric)
Hibernation (knowledge-centric)
Approach
Institute
Software
Sustainability
www.software.ac.uk
Preservation vs sustainability
Image courtesy of RGB Kew – not for reuse
Image courtesy of London Permaculture under CC-by-nc-sa license
Preservation?
Sustainability?
Institute
Software
Sustainability
www.software.ac.uk
People are important
(people are infrastructure too)
Institute
Software
Sustainability
www.software.ac.uk
Sustainable Communities
• Cohesion and Identity: Creating
a community
• Tolerance and Diversity: Smart
growth through collaboration
• Efficient use of resources:
Leveraging infrastructure
• Adaptability to change:
Governing sustainably
Institute
Software
Sustainability
www.software.ac.uk
Cultivate Contributors – R project
• Basics: Website, mailing list, code repository, issue
resolution
• Remove barriers to participation, increase efficiency
• 1993: First public release; 2 devs
• 1995: Code open sourced; 3 devs
• 1996: r-testers list set up
• 1997: lists split: r-announce, r-help,
r-devel; public CVS; 11 devs
• 2000: CRAN split and mirror
• 2001: BioConductor
• 2003: Namespaces
• 2005: I8n, L8n
• 2007: R-Forge
• Today: BioConductor (33 core devs),
R-Forge (532 projects, 1562 devs),
CRAN (1400+ packages)
34
http://cran.r-project.org/doc/html/interface98-paper/paper_2.html
Institute
Software
Sustainability
www.software.ac.uk
We under-appreciate training
• Basic training for
kitchen chef: 3-4 years
• Head chef: 10 years
• Basic training for s/w
engineer: 3-4 years
• Architect: 10 years
PhotobyZagatBuzz
• Training in S/W Dev in UG Physics: 140 hours
• Training in S/W Dev in UG Geography: 0 hours
Institute
Software
Sustainability
www.software.ac.uk
Software Carpentry
• Lab skills for scientific
computing
– http://software-carpentry.org
– International initiative to
teach basics of software
engineering to
researchers
• The “why” more than
the “how”
– We ran 13 workshops
in 2013 to 600+ learners
Incentives are important
Institute
Software
Sustainability
www.software.ac.uk
Courtesy of James Howison and James Herbsleb
Incentives and Integration In Scientific Software Production
Rewrite by original team:
address fragility
Fork to add specific functionality
Maintained separately
Optimised for
hardware
Facilitate hardware
sales
Exploit new techniques /
architectures
And money isn’t everything
Institute
Software
Sustainability
www.software.ac.uk
Funding/Staffing
Time
Next expt.
running
Experiment
Running
Analysis of
Data
New experiment
design starts
Maintenance of software
to process data from
physics experiment
So beware your bus factor
Institute
Software
Sustainability
www.software.ac.uk
Summary of my talk
Institute
Software
Sustainability
www.software.ac.uk
SOFTWAREis…
…areIMPORTANT
everywhere
hard to define
long-lived
context
reasons
people
Take home messages
Institute
Software
Sustainability
www.software.ac.uk
No-one sets out to write
unsustainable software
Software sustainability is important
because it has to happen
People need the skills and incentives
to maintain software through its lifetime
Work with us – www.software.ac.uk
Institute
Software
Sustainability
www.software.ac.uk

Contenu connexe

Similaire à Scientific Software: Sustainability, Skills & Sociology

Software Sustainability in e-Research: Dying for a Change
Software Sustainability in e-Research: Dying for a ChangeSoftware Sustainability in e-Research: Dying for a Change
Software Sustainability in e-Research: Dying for a ChangeNeil Chue Hong
 
Doing Science Properly In The Digital Age - Rutgers Seminar
Doing Science Properly In The Digital Age - Rutgers SeminarDoing Science Properly In The Digital Age - Rutgers Seminar
Doing Science Properly In The Digital Age - Rutgers SeminarNeil Chue Hong
 
Software Sustainability: Better Software Better Science
Software Sustainability: Better Software Better ScienceSoftware Sustainability: Better Software Better Science
Software Sustainability: Better Software Better ScienceCarole Goble
 
Six Principles of Software Design to Empower Scientists
Six Principles of Software Design to Empower ScientistsSix Principles of Software Design to Empower Scientists
Six Principles of Software Design to Empower ScientistsDavid De Roure
 
Cloud Standards in the Real World: Cloud Standards Testing for Developers
Cloud Standards in the Real World: Cloud Standards Testing for DevelopersCloud Standards in the Real World: Cloud Standards Testing for Developers
Cloud Standards in the Real World: Cloud Standards Testing for DevelopersAlan Sill
 
Better Software, Better Practices, Better Research
Better Software, Better Practices, Better ResearchBetter Software, Better Practices, Better Research
Better Software, Better Practices, Better ResearchShoaib Sufi
 
Socio-technical evolution and migration in the Ruby ecosystem
Socio-technical evolution and migration in the Ruby ecosystemSocio-technical evolution and migration in the Ruby ecosystem
Socio-technical evolution and migration in the Ruby ecosystemTom Mens
 
The Software Sustainability Institute and engagement with the Digital Humanities
The Software Sustainability Institute and engagement with the Digital HumanitiesThe Software Sustainability Institute and engagement with the Digital Humanities
The Software Sustainability Institute and engagement with the Digital HumanitiesShoaib Sufi
 
Software Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesSoftware Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesTao Xie
 
Software system design sample
Software system design sampleSoftware system design sample
Software system design sampleNorman K Ma
 
e-infrastructural needs to support informatics
e-infrastructural needs to support informaticse-infrastructural needs to support informatics
e-infrastructural needs to support informaticsDavid Wallom
 
第1回バイオインフォマティクスデータ可視化セミナー@Riken
第1回バイオインフォマティクスデータ可視化セミナー@Riken第1回バイオインフォマティクスデータ可視化セミナー@Riken
第1回バイオインフォマティクスデータ可視化セミナー@RikenKeiichiro Ono
 
Software Analytics: Data Analytics for Software Engineering
Software Analytics: Data Analytics for Software EngineeringSoftware Analytics: Data Analytics for Software Engineering
Software Analytics: Data Analytics for Software EngineeringTao Xie
 
Structural Biology in the Clouds: A Success Story of 10 years
Structural Biology in the Clouds: A Success Story of 10 yearsStructural Biology in the Clouds: A Success Story of 10 years
Structural Biology in the Clouds: A Success Story of 10 yearsAlexandreBonvin2
 
Cultivating Sustainable Software For Research
Cultivating Sustainable Software For ResearchCultivating Sustainable Software For Research
Cultivating Sustainable Software For ResearchNeil Chue Hong
 
Bridging Environmental Data Providers and SeaDataNet DIVA Service within a Co...
Bridging Environmental Data Providers and SeaDataNet DIVA Service within a Co...Bridging Environmental Data Providers and SeaDataNet DIVA Service within a Co...
Bridging Environmental Data Providers and SeaDataNet DIVA Service within a Co...Blue BRIDGE
 
Software Sustainability Institute
Software Sustainability InstituteSoftware Sustainability Institute
Software Sustainability InstituteNeil Chue Hong
 

Similaire à Scientific Software: Sustainability, Skills & Sociology (20)

Software Sustainability in e-Research: Dying for a Change
Software Sustainability in e-Research: Dying for a ChangeSoftware Sustainability in e-Research: Dying for a Change
Software Sustainability in e-Research: Dying for a Change
 
Doing Science Properly In The Digital Age - Rutgers Seminar
Doing Science Properly In The Digital Age - Rutgers SeminarDoing Science Properly In The Digital Age - Rutgers Seminar
Doing Science Properly In The Digital Age - Rutgers Seminar
 
Software Sustainability: Better Software Better Science
Software Sustainability: Better Software Better ScienceSoftware Sustainability: Better Software Better Science
Software Sustainability: Better Software Better Science
 
Six Principles of Software Design to Empower Scientists
Six Principles of Software Design to Empower ScientistsSix Principles of Software Design to Empower Scientists
Six Principles of Software Design to Empower Scientists
 
Cloud Standards in the Real World: Cloud Standards Testing for Developers
Cloud Standards in the Real World: Cloud Standards Testing for DevelopersCloud Standards in the Real World: Cloud Standards Testing for Developers
Cloud Standards in the Real World: Cloud Standards Testing for Developers
 
Better Software, Better Practices, Better Research
Better Software, Better Practices, Better ResearchBetter Software, Better Practices, Better Research
Better Software, Better Practices, Better Research
 
Socio-technical evolution and migration in the Ruby ecosystem
Socio-technical evolution and migration in the Ruby ecosystemSocio-technical evolution and migration in the Ruby ecosystem
Socio-technical evolution and migration in the Ruby ecosystem
 
resume
resumeresume
resume
 
The Software Sustainability Institute and engagement with the Digital Humanities
The Software Sustainability Institute and engagement with the Digital HumanitiesThe Software Sustainability Institute and engagement with the Digital Humanities
The Software Sustainability Institute and engagement with the Digital Humanities
 
Software Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesSoftware Analytics - Achievements and Challenges
Software Analytics - Achievements and Challenges
 
Session 36 - Engage Results
Session 36 - Engage ResultsSession 36 - Engage Results
Session 36 - Engage Results
 
Software system design sample
Software system design sampleSoftware system design sample
Software system design sample
 
e-infrastructural needs to support informatics
e-infrastructural needs to support informaticse-infrastructural needs to support informatics
e-infrastructural needs to support informatics
 
第1回バイオインフォマティクスデータ可視化セミナー@Riken
第1回バイオインフォマティクスデータ可視化セミナー@Riken第1回バイオインフォマティクスデータ可視化セミナー@Riken
第1回バイオインフォマティクスデータ可視化セミナー@Riken
 
Software Analytics: Data Analytics for Software Engineering
Software Analytics: Data Analytics for Software EngineeringSoftware Analytics: Data Analytics for Software Engineering
Software Analytics: Data Analytics for Software Engineering
 
Structural Biology in the Clouds: A Success Story of 10 years
Structural Biology in the Clouds: A Success Story of 10 yearsStructural Biology in the Clouds: A Success Story of 10 years
Structural Biology in the Clouds: A Success Story of 10 years
 
Sgci esip-7-20-18
Sgci esip-7-20-18Sgci esip-7-20-18
Sgci esip-7-20-18
 
Cultivating Sustainable Software For Research
Cultivating Sustainable Software For ResearchCultivating Sustainable Software For Research
Cultivating Sustainable Software For Research
 
Bridging Environmental Data Providers and SeaDataNet DIVA Service within a Co...
Bridging Environmental Data Providers and SeaDataNet DIVA Service within a Co...Bridging Environmental Data Providers and SeaDataNet DIVA Service within a Co...
Bridging Environmental Data Providers and SeaDataNet DIVA Service within a Co...
 
Software Sustainability Institute
Software Sustainability InstituteSoftware Sustainability Institute
Software Sustainability Institute
 

Plus de Neil Chue Hong

Why developing research software is like a startup (and why this matters)
Why developing research software is like a startup (and why this matters)Why developing research software is like a startup (and why this matters)
Why developing research software is like a startup (and why this matters)Neil Chue Hong
 
UK Funder Policy - the results of the Academic Spring?
UK Funder Policy - the results of the Academic Spring?UK Funder Policy - the results of the Academic Spring?
UK Funder Policy - the results of the Academic Spring?Neil Chue Hong
 
Software, Training and Users Panel: the Software Sustainability Institute's View
Software, Training and Users Panel: the Software Sustainability Institute's ViewSoftware, Training and Users Panel: the Software Sustainability Institute's View
Software, Training and Users Panel: the Software Sustainability Institute's ViewNeil Chue Hong
 
Doing Science Properly in the Digital Age: Software Skills for Free-Range Res...
Doing Science Properly in the Digital Age: Software Skills for Free-Range Res...Doing Science Properly in the Digital Age: Software Skills for Free-Range Res...
Doing Science Properly in the Digital Age: Software Skills for Free-Range Res...Neil Chue Hong
 
Where does it go from here? The role of software in digital repositories
Where does it go from here? The role of software in digital repositoriesWhere does it go from here? The role of software in digital repositories
Where does it go from here? The role of software in digital repositoriesNeil Chue Hong
 
Software Sustainability: a UK Perspective
Software Sustainability: a UK PerspectiveSoftware Sustainability: a UK Perspective
Software Sustainability: a UK PerspectiveNeil Chue Hong
 
Software Sustainability: preserving the future of research software
Software Sustainability: preserving the future of research softwareSoftware Sustainability: preserving the future of research software
Software Sustainability: preserving the future of research softwareNeil Chue Hong
 
Cat Herding and Community Gardens: Practical e-Science Project Management
Cat Herding and Community Gardens: Practical e-Science Project ManagementCat Herding and Community Gardens: Practical e-Science Project Management
Cat Herding and Community Gardens: Practical e-Science Project ManagementNeil Chue Hong
 
Why Good Software Sometimes Dies... and how to save it
Why Good Software Sometimes Dies... and how to save itWhy Good Software Sometimes Dies... and how to save it
Why Good Software Sometimes Dies... and how to save itNeil Chue Hong
 
UK e-Infrastructure: Widening Access, Increasing Participation
UK e-Infrastructure: Widening Access, Increasing ParticipationUK e-Infrastructure: Widening Access, Increasing Participation
UK e-Infrastructure: Widening Access, Increasing ParticipationNeil Chue Hong
 

Plus de Neil Chue Hong (11)

Why developing research software is like a startup (and why this matters)
Why developing research software is like a startup (and why this matters)Why developing research software is like a startup (and why this matters)
Why developing research software is like a startup (and why this matters)
 
UK Funder Policy - the results of the Academic Spring?
UK Funder Policy - the results of the Academic Spring?UK Funder Policy - the results of the Academic Spring?
UK Funder Policy - the results of the Academic Spring?
 
Software, Training and Users Panel: the Software Sustainability Institute's View
Software, Training and Users Panel: the Software Sustainability Institute's ViewSoftware, Training and Users Panel: the Software Sustainability Institute's View
Software, Training and Users Panel: the Software Sustainability Institute's View
 
Doing Science Properly in the Digital Age: Software Skills for Free-Range Res...
Doing Science Properly in the Digital Age: Software Skills for Free-Range Res...Doing Science Properly in the Digital Age: Software Skills for Free-Range Res...
Doing Science Properly in the Digital Age: Software Skills for Free-Range Res...
 
Where does it go from here? The role of software in digital repositories
Where does it go from here? The role of software in digital repositoriesWhere does it go from here? The role of software in digital repositories
Where does it go from here? The role of software in digital repositories
 
Software Sustainability: a UK Perspective
Software Sustainability: a UK PerspectiveSoftware Sustainability: a UK Perspective
Software Sustainability: a UK Perspective
 
Software Sustainability: preserving the future of research software
Software Sustainability: preserving the future of research softwareSoftware Sustainability: preserving the future of research software
Software Sustainability: preserving the future of research software
 
Data 2.0|
Data 2.0|Data 2.0|
Data 2.0|
 
Cat Herding and Community Gardens: Practical e-Science Project Management
Cat Herding and Community Gardens: Practical e-Science Project ManagementCat Herding and Community Gardens: Practical e-Science Project Management
Cat Herding and Community Gardens: Practical e-Science Project Management
 
Why Good Software Sometimes Dies... and how to save it
Why Good Software Sometimes Dies... and how to save itWhy Good Software Sometimes Dies... and how to save it
Why Good Software Sometimes Dies... and how to save it
 
UK e-Infrastructure: Widening Access, Increasing Participation
UK e-Infrastructure: Widening Access, Increasing ParticipationUK e-Infrastructure: Widening Access, Increasing Participation
UK e-Infrastructure: Widening Access, Increasing Participation
 

Dernier

W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...Health
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 

Dernier (20)

W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 

Scientific Software: Sustainability, Skills & Sociology

  • 1. Scientific Software: sustainability, skills & sociology Neil Chue Hong, N.ChueHong@software.ac.uk Director, Software Sustainability Institute US/IAEA Workshop on Software Sustainability for Safeguards Instrumentation, Vienna Institute Software Sustainability www.software.ac.uk
  • 2. The Software Sustainability Institute A national facility for cultivating world- class research through software • Better software enables better research • Software reaches boundaries in its development cycle that prevent improvement, growth and adoption • Providing the expertise and services needed to negotiate to the next stage • Developing the policy and tools to support the community developing and using research software Supported by EPSRC Grant EP/H043160/1 Institute Software Sustainability www.software.ac.uk
  • 3. Anatomy of my talk Institute Software Sustainability www.software.ac.uk SOFTWAREis… …areIMPORTANT everywhere hard to define long-lived context reasons people
  • 4. Software is everywhere (even where you expect it) Institute Software Sustainability www.software.ac.uk
  • 5.
  • 7. Tamiflu binding to mutant influenza A water-swap reaction coordinate for the calculation of absolute protein-ligand binding free energies Woods CJ, Malaisree M, Hannongbua S, Mulholland AJ J. Chem. Phys. (2011) vol. 134, pp. 054114 http://dx.doi.org/10.1063/1.3519057
  • 8. Favouring of disease risk alleles Selection at pleiotropic loci underlies disease co-occurrence in human populations. Navarro, Haley, Karosas et al. Submitted to Nature Genetics
  • 9. Behind every great piece of science… #go through each SNP of interest for(my $x = 0; $x < scalar @pos; $x++) { #and then each downstream SNP of interest for(my $y = $x+1; $y < scalar @pos; $y++) { #if SNPs within our chosen distance (500kb) and both present in the haplotypes file if((!($trait[$x] eq $trait[$y])) && (abs($pos[$x] - $pos[$y]) <= 500000) && (exists($legArr { my $snp1ArrayPos = "”; my $snp2ArrayPos = "”; my $snp1All = "”; my $snp2All = "”; #create output file for this SNP pair my $filename = "ConditionedResults2/$chr[$x].$pos[$x]-$pos[$y].EHH.GBR.2.txt”; print "$filenamen”; unless (-e $filename) { open(OUT, ">$filename"); #####################CHANGE THESE IF NOT FOCUSING ON SECOND SNP#################### my $start = $pos[$y]-500000; if ($start < 1) { $start = 1; } my $end = $pos[$y]+500000; if ($end > $chrLengths{$chr[$x]}) { $end = $chrLengths{$chr[$x]}; }
  • 10. Software is long-lived (and outlasts computational hardware) Institute Software Sustainability www.software.ac.uk
  • 11. Architectural Dominance Institute Software Sustainability www.software.ac.uk Image courtesy PDES Inc Slide from Sean Barker, BAE SYSTEMS, DPC Designed to Last
  • 12. Computational Chemistry - CASTEP From the first implementation of a DFT algorithm to a completely new code to community supported software • Individual • Group • Consortium • W/ industry • Community • Active Software advances < hardware speedup 13http://www.castep.org/ Institute Software Sustainability www.software.ac.uk
  • 13. LOTAR: storing aeronautical models Life of CAD System: 10 years Time between CAD Versions: 6 months Life of Product: 70 years + time Production CAD Obsolete CAD Forgotten Services Legal Liability Modifications 10 years 20 30 40 50 60 Spares Image courtesy PDES Inc Slide from Sean Barker, BAE SYSTEMS, DPC Designed to Last Institute Software Sustainability www.software.ac.uk
  • 14. So we have to maintain it… • “The modification of a software product after delivery to correct faults, to improve performance or other attributes, or to adapt the product to a modified environment” – IEEE defn. – Corrective maintenance: fixing faults – Adaptive maintenance: adapting to changes in environment – Perfective maintenance: meeting new/different user requirements – Preventative maintenance: increasing maintainability Institute Software Sustainability www.software.ac.uk
  • 15. … because we cannot change this with process and practice alone … • “Many of us have tried to discover ways to prevent code from becoming legacy. But … prevention is imperfect. Even the most disciplined development team, knowing the best principles, using the best patterns, and following the best practices will create messes from time to time. The rot still accumulates. It’s not enough to prevent the rot – you have to be able to reverse it.” Institute Software Sustainability www.software.ac.uk
  • 16. … so we work with what we have • Identify change points • Find test points • Break dependencies • Write tests • Make changes and refactor Testing, infrastructure, documentation are key Institute Software Sustainability www.software.ac.uk
  • 17. Software is hard to define (and thus hard to sustain) Institute Software Sustainability www.software.ac.uk
  • 18. What do we sustain: - Workflow? - Software that runs workflow? - Software referenced by workflow?
  • 19. Novel reuse of public sector data http://www.mysociety.org What do we sustain: - Map? - Software that creates map?
  • 20. Sustaining Function or Form 21 What do we sustain: - Function? - Form?
  • 21. Context is important (otherwise all you have is an object) Institute Software Sustainability www.software.ac.uk
  • 22. Comb badge, Museum of London • Without context, objects have no meaning What’s this item? 32x28mm, lead alloy, late Medieval 14-15th century
  • 23. What about repositories? re⋅pos⋅i⋅tor⋅y /noun/ [ri-poz-i-tawr-ee] • 1. a receptacle or place where things are deposited, stored, or offered for sale. • 2. a burial place; sepulchre. Institute Software Sustainability www.software.ac.uk
  • 24. The Zombie Effect • Software not always fully alive when you reanimate it! • Complex set of dependencies – Significant Properties of Software – Purposes and benefits of software preservation http://www.jisc.ac.uk/media/documents/ programmes/preservation/significantprop ertiesofsoftware-final.doc http://softwarepreservation.jiscinvolve.org/wp/
  • 25. Reasons are important (so you take the right approach) Institute Software Sustainability www.software.ac.uk
  • 26. Why are you considering software sustainability? Achieve legal compliance Create heritage value Enable continued access to data and services Encourage software reuse Purpose Institute Software Sustainability www.software.ac.uk
  • 27. How are you going to choose the right approach? Preservation (techno-centric) Emulation (data-centric) Migration (functionality-centric) Transition (process-centric) Hibernation (knowledge-centric) Approach Institute Software Sustainability www.software.ac.uk
  • 28. Preservation vs sustainability Image courtesy of RGB Kew – not for reuse Image courtesy of London Permaculture under CC-by-nc-sa license Preservation? Sustainability? Institute Software Sustainability www.software.ac.uk
  • 29. People are important (people are infrastructure too) Institute Software Sustainability www.software.ac.uk
  • 30. Sustainable Communities • Cohesion and Identity: Creating a community • Tolerance and Diversity: Smart growth through collaboration • Efficient use of resources: Leveraging infrastructure • Adaptability to change: Governing sustainably Institute Software Sustainability www.software.ac.uk
  • 31. Cultivate Contributors – R project • Basics: Website, mailing list, code repository, issue resolution • Remove barriers to participation, increase efficiency • 1993: First public release; 2 devs • 1995: Code open sourced; 3 devs • 1996: r-testers list set up • 1997: lists split: r-announce, r-help, r-devel; public CVS; 11 devs • 2000: CRAN split and mirror • 2001: BioConductor • 2003: Namespaces • 2005: I8n, L8n • 2007: R-Forge • Today: BioConductor (33 core devs), R-Forge (532 projects, 1562 devs), CRAN (1400+ packages) 34 http://cran.r-project.org/doc/html/interface98-paper/paper_2.html Institute Software Sustainability www.software.ac.uk
  • 32. We under-appreciate training • Basic training for kitchen chef: 3-4 years • Head chef: 10 years • Basic training for s/w engineer: 3-4 years • Architect: 10 years PhotobyZagatBuzz • Training in S/W Dev in UG Physics: 140 hours • Training in S/W Dev in UG Geography: 0 hours Institute Software Sustainability www.software.ac.uk
  • 33. Software Carpentry • Lab skills for scientific computing – http://software-carpentry.org – International initiative to teach basics of software engineering to researchers • The “why” more than the “how” – We ran 13 workshops in 2013 to 600+ learners
  • 34. Incentives are important Institute Software Sustainability www.software.ac.uk Courtesy of James Howison and James Herbsleb Incentives and Integration In Scientific Software Production Rewrite by original team: address fragility Fork to add specific functionality Maintained separately Optimised for hardware Facilitate hardware sales Exploit new techniques / architectures
  • 35. And money isn’t everything Institute Software Sustainability www.software.ac.uk Funding/Staffing Time Next expt. running Experiment Running Analysis of Data New experiment design starts Maintenance of software to process data from physics experiment
  • 36. So beware your bus factor Institute Software Sustainability www.software.ac.uk
  • 37. Summary of my talk Institute Software Sustainability www.software.ac.uk SOFTWAREis… …areIMPORTANT everywhere hard to define long-lived context reasons people
  • 38. Take home messages Institute Software Sustainability www.software.ac.uk No-one sets out to write unsustainable software Software sustainability is important because it has to happen People need the skills and incentives to maintain software through its lifetime
  • 39. Work with us – www.software.ac.uk Institute Software Sustainability www.software.ac.uk