COMPUTATIONAL SCIENCE and ENGINEERING SOFTWARE SUSTAINABILITY and PRODUCTIVITY (CSESSP) CHALLENGES WORKSHOP REPORT CSESSP October 15-16, 2015 WASHINGTON, DC USA
Total Page:16
File Type:pdf, Size:1020Kb
COMPUTATIONAL SCIENCE AND ENGINEERING SOFTWARE SUSTAINABILITY AND PRODUCTIVITY (CSESSP) CHALLENGES WORKSHOP REPORT CSESSP October 15-16, 2015 WASHINGTON, DC USA CSESSP WORKSHOP REPORT CROUP NITRO POINT OF CONTACT Michael A. Heroux (co-chair, Sandia National Laboratories) Ernest Lucier Gabrielle Allen (co-chair, University of Illinois) Email: [email protected] SPONSORED BY How to cite this document: Heroux, A. M., Allen, G. (2016, September). Computational Science and Engineering Software Sustainability and Productivity (CSESSP) Challenges Workshop Report. Arlington, VA: Networking and Information Technology Research and Development (NITRD) Program. Retrieved from NITRD Website: https://www.nitrd.gov/PUBS/CSESSPWorkshopReport.pdf Productive and Sustainable Computational Science & Engineering Software Productivity and Sustainability (CSESSP) Challenges Workshop Report Sponsored by Networking and Information Technology Research and Development (NITRD) Program with U.S. Department of Energy, U.S. National Science Foundation, U.S. Department of Defense OSD OASD October 15–16, 2015 Washington, DC USA CSESSP Workshop Report Group Michael A. Heroux (co-chair, Sandia National Laboratories) Gabrielle Allen (co-chair, University of Illinois Urbana-Champaign) NITRD Point of Contact Ernie Lucier Abstract This report details the challenges and opportunities discussed at the NITRD sponsored multi-agency workshop on Computational Science and Engineering Software Productivity and Sustainability (CSESSP) Challenges, held in Washington, D.C. USA on October 15–16, 2015. The workshop brought together 85 attendees from all branches of the U.S. federal government, industry, academia, and U.S. and international research laboratories to dis cuss growing concerns over the sustainability of our Computational Science and Engineering (CSE) software foundation, and the productivity of scientists and engineers who develop and use this software. Discussions focused on characterization of the challenges, and oppor tunities for improved productivity and sustainability going forward. This report comprises workshop and subsequent discussions including a summary of key opportunities for the CSE community going forward. Networking and Information Technology Research and Development (NITRD) Program The Networking and Information Technology Research and Development (NITRD) Program is the Nation’s primary source of federally funded work on advanced information technologies (IT) in computing, networking, and software. The Program is one of the oldest and largest of the formal Federal programs that engage multiple agencies in coordination activities. As required by the High-Performance Computing Act of 1991 (P.L. 102-194), the Next Genera tion Internet Research Act of 1998 (P.L. 105-305), and the America COMPETES (Creating Opportunities to Meaningfully Promote Excellence in Technology, Education, and Science) Act of 2007 (P.L. 110-69), the NITRD Program provides a framework and mechanisms for coordination among the Federal agencies that support advanced IT R&D and annually re port IT research budgets in the NITRD crosscut of the President’s Budget. Many other agencies with IT interests also participate in NITRD activities. Overall NITRD Program coordination is carried out by the Subcommittee on Networking and Information Technol ogy Research and Development, under the aegis of the Committee on Technology (CoT) of the National Science and Technology Council (NSTC). The NITRD National Coordination Office (NITRD/NCO) provides technical, administrative, and logistical support for the ac tivities of the NITRD Program. For further information about the NITRD Program, please see the NITRD website: www.nitrd.gov. Software Productivity, Sustainability, and Quality (SPSQ) (Formerly SDP CG) SPSQ is a NITRD Interagency Working Group (IWG) that coordinates R&D that spans both the science and the technology of software creation and sustainment (e.g., development methods and environments, verification and validation technologies, component technologies, languages, and tools) and software project management in diverse domains. The primary SPSQ IWG ob jective is to accelerate progress in the science and technology of software pro duction to deliver orders of magnitude improvement in software defect rates and in the time and cost of creating and sustaining software to drive innovation to the strategic advantage of the United States and develop the next-generation software-intensive systems. Copyright Information This is a work of the U.S. Government and is in the public domain and may be freely distributed, copied, and translated; acknowledgment of publication by the National Coor dination Office for Networking and Information Technology Research and Development is appreciated. Any translation should include a disclaimer that the accuracy of the translation is the responsibility of the translator and not the NITRD/NCO. It is requested that a copy of any translation be sent to the NITRD/NCO. Publication of This Report Electronic versions of NITRD documents are available at NITRD website: https://www. nitrd.gov. Auspices Statement This work has been supported by the National Science Foundation Award CCF - 1551592, managed by the University of Illinois Urbana-Champaign; by the Department of Energy, Office of Advanced Scientific Computing Research; and the Networking and Information Technology Research and Development Program. Contents Table of Contents . i Preface . iv Executive Summary . v Acknowledgments . vii Contributors . viii 1 Introduction 1 1.1 Dematerialization through digitization . 1 1.2 Challenges, trends, and opportunities . 1 1.3 Characterizing productivity and sustainability . 2 1.4 Software productivity . 3 1.5 Software sustainability . 4 1.6 The shared productivity-sustainability concern for product quality . 5 2 Improved CSE Software Sustainability and Developer Productivity: Op portunities and Incentives 5 2.1 Opportunities . 5 2.2 The CREATE Pro ject: Emphasizing sustainability and productivity . 8 2.3 Providing incentives: Funding agencies, publishers and employers . 9 3 Role of Software Engineering Research 10 3.1 Expanding software engineering practice . 12 3.2 New software engineering research . 13 3.3 Transition of research to practice in CSE software community . 13 3.4 Collaboration opportunities . 14 3.5 Specific needs of small user teams . 15 3.6 Software engineering research roadmap . 15 3.7 Productive and sustainable: Astrophysics community codes . 16 4 Measuring Software Productivity and Sustainability 17 4.1 Opportunities for investigation . 18 4.2 Understanding the use of and experience with metrics in the software engi neering (SWE) community . 19 4.3 Exposing the current use and experience with metrics in the CSE community 20 4.4 CSE as a distinct software domain . 20 4.5 Encouraging and increasing introspection into CSE software development . 21 4.6 Measuring productivity and sustainability roadmap . 22 5 New Approaches for Faster, More Affordable CSE Software 22 5.1 Suggested research directions . 23 5.1.1 Productivity through continued knowledge development, capture, and dissemination . 24 5.1.2 Productivity through design capture, display, and revision . 25 5.1.3 Productivity through design recovery and modernization . 26 Productivity and Sustainability Challenges for CSE Software i 5.2 New approaches roadmap . 27 6 Economics of CSE Software Tools 29 6.1 Descriptive examples . 30 6.1.1 Addressing the current cultural economics of CSE tool development . 30 6.1.2 Establishing new academia-industry-government partnership models . 31 6.1.3 Economics of commercial software . 32 6.1.4 Shared public-private journey . 34 6.1.5 Identifying new incentives for retaining top software talent . 34 6.2 An urgent need for productive and sustainable tools . 35 6.3 Software tools roadmap . 35 7 Social Sciences Applied to CSE Software Systems 36 7.1 CSE software is an ecosystem . 38 7.2 CSE software development is a set of social communities . 39 7.2.1 Team dynamics and culture . 39 7.2.2 Individual and intra-team social skills . 39 7.2.3 Individual response to community culture . 40 7.2.4 Inter-team communities and practices . 40 7.2.5 The role of tools . 41 7.3 Social sciences roadmap . 41 7.4 Possible outcomes . 42 8 Workforce Needs for Sustainable Software for Sciences 43 8.1 Scale and scope of problem . 44 8.2 Gaps in current training processes . 45 8.3 Innovative and emerging solutions . 46 8.4 Role of universities, industry and funding agencies roadmap . 46 9 CSE Software in Industry & Manufacturing 47 9.1 Opportunities for CSE software to advance industry & manufacturing . 48 9.1.1 Financial impact . 48 9.1.2 Engines of productivity . 48 9.1.3 Instruments for insight . 50 9.1.4 Software ecosystem synergy . 50 9.1.5 Software scalability competitiveness . 50 9.1.6 A new paradigm for regulation . 51 9.1.7 Grand challenge: Scalable multiscale . 52 9.1.8 Stimulate workforce development . 52 9.2 Development and use challenges of CSE modeling & simulation (M&S) soft ware by industry . 53 9.2.1 Software licensing terms . 53 9.3 CSE impact: Consumer products . 54 10 Summary and Conclusions 55 ii Productivity and Sustainability Challenges for CSE Software References 56 Appendices 67 White Papers . 67 Workshop Participants . 68 Workshop Agenda . 72 Productivity and Sustainability Challenges for CSE Software iii Preface The Computational Science & Engineering Software Sustainability and Productivity (CSESSP) Challenges workshop identified the unique issues around software