Skip to main content

Software Engineering Practices and Principles to Increase Quality of Scientific Applications

  • Conference paper
ICT Innovations 2012 (ICT Innovations 2012)

Part of the book series: Advances in Intelligent Systems and Computing ((AISC,volume 207))

Included in the following conference series:

  • 1059 Accesses

Abstract

The goal of this paper is to propose some software engineering practices and principles that could increase the quality of scientific applications. Since standard principles of software engineering cannot fully engage in enhancing the development process of such applications, finding the right principles and their combination that will improve the quality is real challenge for software engineers. In order to provide more realistic representation of problems in the field of scientific high-performance computing, we conducted a survey where developers of scientific applications in the HP-SEE project answered some key questions about testing methods and conventions they used. Analysis of the results of the responses was major indicator of quality deficiencies in the high-performance scientific software development and that helped us to discern the possible improvements that need to be added in the planning, development and particularly in the verification phases of the software life cycle.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Andersen, P.B., Prange, F., Serritzlew, S.: Software engineering as a part of scientific practice (April 2011), http://imv.au.dk/~pba/Homepagematerial/publicationfolder/softwareengineering.pdf

  2. Basili, V.R., Carver, J., Cruzes, D., Hochstein, L., Hollingsworth, J., Shull, F., Zelkowitz, M.V.: Understanding The High Performance Computing Community: A Software Engineer’s Perspective. IEEE Software 25, 29–36 (2008)

    Article  Google Scholar 

  3. Baxter, R.: Software Engineering Is Software Engineering. In: Proceedings of the First International Workshop on Software Engineering for High Performance Computing System Applications, pp. 14–18. IEEE Computer Society, Washington, DC (2004)

    Google Scholar 

  4. Chin, L.S., Worth, D.J., Greenough, C.: A Survey of Software Testing Tools for Computational Science. Technical Report RAL-TR-2007-010, Software Engineering Group, Computational Science & Engineering Department, Rutherford Appleton Laboratory, Oxfordshire, UK (2007)

    Google Scholar 

  5. Eijkhout, V., Chow, E., Geijn, R.: Introduction to High-Performance Scientific Computing. Public Draft (July 2010), http://www.math-cs.gordon.edu/courses/cps371/doc/scicompbook.pdf

  6. Hannay, J.E., MacLeod, C., Singer, J., Langtangen, H.P., Pfahl, D., Wilson, G.: How Do Scientists Develop and Use Scientific Software. In: Proceedings of the 2009 ICSE Workshop on Software Engineering for Computational Science and Engineering, pp. 1–8. IEEE Computer Society, Washington, DC (2009)

    Chapter  Google Scholar 

  7. Howison, J., Herbsleb, J.D.: Scientific software production: incentives and collaboration. In: Proceedings of the ACM 2011 Conference on Computer Supported Cooperative Work, pp. 513–522. ACM, New York (2011)

    Chapter  Google Scholar 

  8. Jurgens, D.: Survey on Software Engineering for Scientific Applications- Reusable Software, Grid Computing and Application. Institute of Scientific Computing. Technische Universitat Braunschweig, Germany (2009), http://rzbl04.biblio.etc.tu-bs.de:8080/docportal/servlets/MCRFileNodeServlet/DocPortal_derivate_00006306/Juergens-Survey-Software-Eng-Scientific-Applications.pdf

    Google Scholar 

  9. Loh, E., Van De Vanter, M.L., Votta, L.G.: Can Software Engineering Solve the HPCS Problem? In: Proceedings of the Second International Workshop on Software Engineering for High Performance Computing System Applications, pp. 27–31. ACM, New York (2005)

    Chapter  Google Scholar 

  10. Neely, R.: Practical Software Quality Engineering on a Large MultiDisciplinary HPC Development Team. In: Proceedings of the First International Workshop on Software Engineering for High Performance Computing System Applications, pp. 19–23. IEE, Stevenage (2004)

    Google Scholar 

  11. Phadke, A.A., Allen, E.B.: Predicting Risky Modules in Open-Source Software for High-Performance Computing. In: Proceedings of the Second International Workshop on Software Engineering for High Performance Computing System Applications, pp. 60–64. ACM, New York (2005)

    Chapter  Google Scholar 

  12. Post, D.E.: The Challenge for Computational Science. In: Proceedings of the First International Workshop on Software Engineering For High Performance Computing System Applications, pp. 8–13. IEEE Computer Society, Washington, DC (2004)

    Google Scholar 

  13. Post, D.E., Kendall, R.P.: Software Project Management and Quality Engineering Practices for Complex, Coupled Multiphysics, Massively Parallel Computational Simulations: Lessons Learned From ASCI. International Journal of High Performance Computing Applications 18, 399–416 (2004)

    Article  Google Scholar 

  14. Roy, C.J.: Practical Software Engineering Strategies for Scientific Computing. In: Proceedings of the 19th AIAA Computational Fluid Dynamics Conference, pp. 1473–1485. American Institute of Aeronautics and Astronautics, Inc., Reston (2009)

    Google Scholar 

  15. Segal, J.: Models of scientific software development. In: First International Workshop on Software Engineering in Computational Science and Engineering, SECSE 2008, Leipzig, Germany (2008)

    Google Scholar 

  16. Segal, J.: Scientists and Software Engineers: A Tale of Two Cultures. In: Proceedings of the Psychology of Programming Interest Group, pp. 44–51. University of Lancaster, UK (2008)

    Google Scholar 

  17. The official HP-SEE site, http://www.hp-see.eu/

  18. Zheng, B.: Documentation Driven Testing of Scientific Computing Software. Master Thesis, McMaster University, Ontario, Canada (2009), http://digitalcommons.mcmaster.ca/cgi/viewcontent.cgi?article=5421&context=opendissertations

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Bojana Koteska .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Koteska, B., Mishev, A. (2013). Software Engineering Practices and Principles to Increase Quality of Scientific Applications. In: Markovski, S., Gusev, M. (eds) ICT Innovations 2012. ICT Innovations 2012. Advances in Intelligent Systems and Computing, vol 207. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-37169-1_24

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-37169-1_24

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-37168-4

  • Online ISBN: 978-3-642-37169-1

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics