{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,22]],"date-time":"2026-03-22T04:31:45Z","timestamp":1774153905278,"version":"3.50.1"},"reference-count":20,"publisher":"Institute of Electrical and Electronics Engineers (IEEE)","issue":"2","license":[{"start":{"date-parts":[[2019,3,1]],"date-time":"2019-03-01T00:00:00Z","timestamp":1551398400000},"content-version":"vor","delay-in-days":0,"URL":"https:\/\/ieeexplore.ieee.org\/Xplorehelp\/downloads\/license-information\/IEEE.html"},{"start":{"date-parts":[[2019,3,1]],"date-time":"2019-03-01T00:00:00Z","timestamp":1551398400000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-029"},{"start":{"date-parts":[[2019,3,1]],"date-time":"2019-03-01T00:00:00Z","timestamp":1551398400000},"content-version":"stm-asf","delay-in-days":0,"URL":"https:\/\/doi.org\/10.15223\/policy-037"}],"funder":[{"name":"DOD\/AS","award":["N00244-09-1-0062"],"award-info":[{"award-number":["N00244-09-1-0062"]}]},{"DOI":"10.13039\/100000001","name":"National Science Foundation","doi-asserted-by":"publisher","award":["# DMR 1409620"],"award-info":[{"award-number":["# DMR 1409620"]}],"id":[{"id":"10.13039\/100000001","id-type":"DOI","asserted-by":"publisher"}]},{"name":"Computational Materials Sciences Program"},{"DOI":"10.13039\/100000015","name":"U.S. Department of Energy","doi-asserted-by":"publisher","id":[{"id":"10.13039\/100000015","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100006132","name":"Office of Science","doi-asserted-by":"publisher","id":[{"id":"10.13039\/100006132","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100006151","name":"Basic Energy Sciences","doi-asserted-by":"publisher","id":[{"id":"10.13039\/100006151","id-type":"DOI","asserted-by":"publisher"}]},{"DOI":"10.13039\/100013055","name":"Materials Sciences and Engineering Division","doi-asserted-by":"crossref","award":["6F-30844"],"award-info":[{"award-number":["6F-30844"]}],"id":[{"id":"10.13039\/100013055","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Comput. Sci. Eng."],"published-print":{"date-parts":[[2019,3,1]]},"DOI":"10.1109\/mcse.2018.2882355","type":"journal-article","created":{"date-parts":[[2018,12,4]],"date-time":"2018-12-04T19:47:42Z","timestamp":1543952862000},"page":"66-79","source":"Crossref","is-referenced-by-count":16,"title":["How to Professionally Develop Reusable Scientific Software\u2014And When Not To"],"prefix":"10.1109","volume":"21","author":[{"given":"Carl S.","family":"Adorf","sequence":"first","affiliation":[{"name":"University of Michigan"}]},{"given":"Vyas","family":"Ramasubramani","sequence":"additional","affiliation":[{"name":"University of Michigan"}]},{"given":"Joshua A.","family":"Anderson","sequence":"additional","affiliation":[{"name":"University of Michigan"}]},{"given":"Sharon C.","family":"Glotzer","sequence":"additional","affiliation":[{"name":"University of Michigan"}]}],"member":"263","reference":[{"key":"ref10","doi-asserted-by":"publisher","DOI":"10.1016\/j.jcp.2013.07.023"},{"key":"ref11","doi-asserted-by":"crossref","first-page":"1","DOI":"10.1006\/jcph.1995.1039","article-title":"Fast parallel algorithms for short&#x2013;range molecular dynamics","volume":"117","author":"plimpton","year":"1995","journal-title":"J Comput Phys"},{"key":"ref12","doi-asserted-by":"publisher","DOI":"10.1016\/0010-4655(95)00042-E"},{"key":"ref13","doi-asserted-by":"publisher","DOI":"10.1109\/MCSE.2007.55"},{"key":"ref14","article-title":"Freud: A python package for analyzing particle simulation trajectories","author":"harper","year":"2016"},{"key":"ref15","doi-asserted-by":"publisher","DOI":"10.1016\/0263-7855(96)00018-5"},{"key":"ref16","doi-asserted-by":"publisher","DOI":"10.1088\/0965-0393\/18\/1\/015012"},{"key":"ref17","doi-asserted-by":"publisher","DOI":"10.1016\/j.commatsci.2018.01.035"},{"key":"ref18","doi-asserted-by":"publisher","DOI":"10.1109\/MIC.2011.64"},{"key":"ref19","doi-asserted-by":"publisher","DOI":"10.21105\/joss.00787"},{"key":"ref4","doi-asserted-by":"publisher","DOI":"10.1109\/MCSE.2007.58"},{"key":"ref3","article-title":"Manifesto for agile software development","author":"fowler","year":"2001"},{"key":"ref6","article-title":"The clean architecture","author":"martin","year":"2012"},{"key":"ref5","doi-asserted-by":"publisher","DOI":"10.1109\/MCSE.2014.80"},{"key":"ref8","doi-asserted-by":"publisher","DOI":"10.1016\/j.cpc.2015.02.028"},{"key":"ref7","doi-asserted-by":"crossref","first-page":"5342","DOI":"10.1016\/j.jcp.2008.01.047","article-title":"General purpose molecular dynamics simulations fully implemented on graphics processing units","volume":"227","author":"anderson","year":"2008","journal-title":"J Comput Phys"},{"key":"ref2","author":"fowler","year":"1999","journal-title":"Refactoring Improving the Design of Existing Code"},{"key":"ref1","doi-asserted-by":"publisher","DOI":"10.1371\/journal.pbio.1001745"},{"key":"ref9","doi-asserted-by":"publisher","DOI":"10.1016\/j.cpc.2016.02.024"},{"key":"ref20","doi-asserted-by":"publisher","DOI":"10.25080\/Majora-4af1f417-016"}],"container-title":["Computing in Science &amp; Engineering"],"original-title":[],"link":[{"URL":"http:\/\/xplorestaging.ieee.org\/ielx7\/5992\/8664199\/08558687.pdf?arnumber=8558687","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2022,7,13]],"date-time":"2022-07-13T21:08:36Z","timestamp":1657746516000},"score":1,"resource":{"primary":{"URL":"https:\/\/ieeexplore.ieee.org\/document\/8558687\/"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2019,3,1]]},"references-count":20,"journal-issue":{"issue":"2"},"URL":"https:\/\/doi.org\/10.1109\/mcse.2018.2882355","relation":{},"ISSN":["1521-9615","1558-366X"],"issn-type":[{"value":"1521-9615","type":"print"},{"value":"1558-366X","type":"electronic"}],"subject":[],"published":{"date-parts":[[2019,3,1]]}}}