Year Range:  

November 2009

Volume 11, Issue 6,  pp. 4-104

back to top

Columns

Computational Thinking … and Doing

George K. Thiruvathukal

Comput. Sci. Eng. 11, 4 (2009) (1 page)

Online Publication Date: 19 November 2009

Full Text: PDF (578 kB)

Abstract Unavailable
back to top

Departments

Computational Science and Engineering Education: SIAM's Perspective

Hans-Joachim Bungartz, Donald Estep, Ulrich Rde, and Peter Turner

Comput. Sci. Eng. 11, 5 (2009) (7 pages)

Online Publication Date: 19 November 2009

Full Text: PDF (7721 kB)

Show Abstract
This year's SIAM CSE conference featured a structured program on education that sought to attract attention to and sustained interest in this essential topic. The 2009 Society for Industrial and Applied Mathematics Conference on Computational Science and Engineering featured a structured CSE educational program that bundled educational activities and events with the goal of attracting more attention for and sustained interest in this key topic. This summary highlights the presentations and discussions on undergraduate and graduate education, and offers an overview of a highly successful PhD student paper competition. As the results of this competition show, the high end of the CSE education pipeline already is in quite good shape.
back to top

Software Engineering

Software Engineering and Computational Science

Greg Wilson and Andrew Lumsdaine

Comput. Sci. Eng. 11, 12 (2009) (2 pages)

Online Publication Date: 19 November 2009

Full Text: PDF (7729 kB)

Abstract Unavailable

Report: The Second International Workshop on Software Engineering for CSE

Jeffrey C. Carver

Comput. Sci. Eng. 11, 14 (2009) (6 pages)

Online Publication Date: 19 November 2009

Full Text: PDF (2169 kB)

Show Abstract
Held during the 2009 International Conference on Software Engineering, this workshop provided a venue for software engineering researchers to interact with CSE researchers and practitioners and further strengthen the evolving dialogue between them. This report offers a brief overview of the workshop's position papers and summarizes the breakout group discussions. Once the unique characteristics of CSE software projects are understood, software engineers will have much to gain from and offer to the CSE community. Strengthening the dialogue between software engineering and CSE is a key goal of the International Workshop on Software Engineering for CSE. This year's 2nd annual workshop, held during the 2009 International Conference on Software Engineering in Vancouver, Canada, again provided a venue for software engineering researchers to interact with CSE researchers and practitioners. This report offers a brief overview the workshop's position papers and summarizes the breakout group discussions.

Managing Chaos: Lessons Learned Developing Software in the Life Sciences

Sarah Killcoyne and John Boyle

Comput. Sci. Eng. 11, 20 (2009) (10 pages)

Online Publication Date: 19 November 2009

Full Text: PDF (6882 kB)

Show Abstract
In the life sciences, the need to balance the costs and benefits of introducing software processes into a research environment presents a distinct set of challenges due to the cultural disconnect between life sciences research and software engineering. The Institute for Systems Biology's research informatics team has studied these challenges and developed a software process to address them. Within the rather chaotic atmosphere of scientific research, adopting a software process and opting for structured software development can be difficult. After all, scientific advancement is paramount, and organizations must balance the costs and benefits of introducing processes into a research environment. In the life sciences, the need for such balance presents a distinct set of challenges due to the cultural disconnect between life sciences research and software engineering. The Institute for Systems Biology's research informatics team has studied these challenges and developed a software process to address them.

Scientific Computing's Productivity Gridlock: How Software Engineering Can Help

Stuart Faulk, Eugene Loh, Michael L. Van De Vanter, Susan Squires, and Lawrence G. Votta

Comput. Sci. Eng. 11, 30 (2009) (10 pages)

Online Publication Date: 19 November 2009

Full Text: PDF (25452 kB)

Show Abstract
Hardware improvements do little to improve real productivity in scientific programming. Indeed, the dominant barriers to productivity improvement are now in the software processes. To break the gridlock, we must establish a degree of cooperation and collaboration with the software engineering community that does not yet exist. The accumulated technologies and practices of general computer science and software engineering have failed to impact scientific programming's productivity gridlock. To address this productivity crisis, the computer science and software engineering communities must better understand this domain's unique goals, as well as help scientific programmers relax their hardware-centric focus. Adapting lessons learned from general computing gains can also help address the acute challenges facing scientific computing.

Mutation Sensitivity Testing

Daniel Hook and Diane Kelly

Comput. Sci. Eng. 11, 40 (2009) (8 pages)

Online Publication Date: 19 November 2009

Full Text: PDF (223 kB)

Show Abstract
Computational scientists often encounter code-testing challenges not typically faced by software engineers who develop testing techniques. Mutation sensitivity testing addresses these challenges, showing that a few well-designed tests can detect many code faults and that reducing error tolerances is often more effective than running additional tests. In the process of testing their code, computational scientists frequently encounter challenges that aren't typically encountered by the software engineers who actually develop the testing techniques. Given this, the authors developed a research technique, Mutation Sensitivity Testing, and found that a few well-designed tests detected a high percentage of the code faults introduced into small Matlab functions. Their experiments also showed that it's often more effective to reduce error tolerances than to conduct more tests. Such results suggest that software engineers and computational scientists have much to offer each other when it comes to testing.

Automated Software Testing for Matlab

Steven L. Eddins

Comput. Sci. Eng. 11, 48 (2009) (8 pages)

Online Publication Date: 19 November 2009

Full Text: PDF (4330 kB)

Show Abstract
Software testing can improve software quality. To test effectively, scientists and engineers should know how to write and run tests, define appropriate test cases, determine expected outputs, and correctly handle floating-point arithmetic. Using Matlab xUnit automated testing framework, scientists and engineers using Matlab can make software testing an integrated part of their software development routine. Software testing can improve software quality. To test effectively, scientists and engineers should know how to write and run tests, define appropriate test cases, determine expected outputs, and correctly handle floating-point arithmetic. Using Matlab xUnit automated testing framework, scientists and engineers using Matlab can make software testing an integrated part of their software development routine.

The libflame Library for Dense Matrix Computations

Field G. Van Zee, Ernie Chan, Robert A. van de Geijn, Enrique S. Quintana-Ort, and Gregorio Quintana-Ort

Comput. Sci. Eng. 11, 56 (2009) (8 pages)

Online Publication Date: 19 November 2009

Full Text: PDF (2259 kB)

Show Abstract
Researchers from the Formal Linear Algebra Method Environment (Flame) project have developed new methodologies for analyzing, designing, and implementing linear algebra libraries. These solutions, which have culminated in the libflame library, seem to solve many of the programmability problems that have arisen with the advent of multicore and many-core architectures. As part of the Flame project, researchers have been diligently developing new methodologies for analyzing, designing, and implementing linear algebra libraries. While they didn't know it when they started, such techniques appear to solve many of the programmability problems that have arisen with the advent of multicore and many-core architectures. The Flame project team's efforts have culminated in a new library, libflame, which strives to replace similar libraries from the late 20th century. In this article, they introduce this library to the scientific computing community.

Engineering the Software for Understanding Climate Change

Steve M. Easterbrook and Timothy C. Johns

Comput. Sci. Eng. 11, 64 (2009) (11 pages)

Online Publication Date: 19 November 2009

Full Text: PDF (1880 kB)

Show Abstract
Climate scientists build large, complex simulations with little or no software engineering training—and don't readily adopt the latest software engineering tools and techniques. This ethnographic study of climate scientists shows that their culture and practices share many features of agile and open source projects, but with highly customized software validation and verification techniques. Climate scientists build large, complex simulations with little or no software engineering training—and don't readily adopt the latest software engineering tools and techniques. An ethnographic study of climate scientists at the Hadley Centre for Climate Prediction and Research found that their culture and practices share many features of agile and open source projects. Specifically, they rely on self-organization of the teams, use informal communication channels extensively, and have developers who are also users and domain experts. They also have highly customized software verification and validation techniques that are tightly integrated into their scientific research. These observations suggest that domain-independent software development process models are unlikely to be useful for this type of scientific software development.
back to top

Also in this Issue

Next-Generation Research and Breakthrough Innovation

Thomas C. McMail

Comput. Sci. Eng. 11, 76 (2009) (9 pages)

Online Publication Date: 19 November 2009

Full Text: PDF (204 kB)

Show Abstract
This article is based on a talk and an internal report that the author presented at faculty workshops and conferences. We offer it here to provide a glimpse into some of the activities that a major software company carries out to prepare for future changes in computing. Unlike our usual articles—which are typically popular versions of research articles or news reports—this piece reflects industrial thinking that is broad, concerned with the sociology of science, free flowing in associations, and developed from somewhat of a corporate viewpoint. Accordingly, we suggest readers view it as an "op ed" piece—one that's thought-provoking in part because of the author's position and activities.—Rubin H. Landau, News department editor This article is based on a talk and an internal report that the author presented at faculty workshops and conferences. We offer it here to provide a glimpse into some of the activities that a major software company carries out to prepare for future changes in computing. Unlike our usual articles—which are typically popular versions of research articles or news reports—this piece reflects industrial thinking that is broad, concerned with the sociology of science, free flowing in associations, and developed from somewhat of a corporate viewpoint. Accordingly, we suggest readers view it as an "op ed" piece—one that's thought-provoking in part because of the author's position and activities.—"Rubin H. Landau, News department editor
back to top

Departments

Essential Tools: Version Control Systems

Konrad Hinsen, Konstantin Läufer, and George K. Thiruvathukal

Comput. Sci. Eng. 11, 84 (2009) (8 pages)

Online Publication Date: 19 November 2009

Full Text: PDF (31287 kB)

Show Abstract
Did you ever wish you'd made a backup copy of a file before changing it? Or before applying a collaborator's modifications? Version control systems make this easier, and do a lot more. Version control systems track changes to project file sets, letting users collaborate and manage tasks, as well as reconstruct file contents when backup unexpectedly fails.

Scientific and Engineering Computing Using ATI Stream Technology

Amr Bayoumi, Michael Chu, Yasser Hanafy, Patricia Harrell, and Gamal Refai-Ahmed

Comput. Sci. Eng. 11, 92 (2009) (6 pages)

Online Publication Date: 19 November 2009

Full Text: PDF (645 kB)

Show Abstract
This continuing exploration of GPU technology examines ATI Stream technology and its use in scientific and engineering applications. This continuing exploration of GPU technology examines its use in scientific and engineering applications using the Simulation Program with Integrated Circuit Emphasis (Spice) as an example.

On Safari in the File Format Jungle—Why Can't You Visualize My Data?

Werner Benger

Comput. Sci. Eng. 11, 98 (2009) (5 pages)

Online Publication Date: 19 November 2009

Full Text: PDF (9652 kB)

Show Abstract
Lots of glossy images and striking movies on the one side, lots of numbers and full hard disks on the other—seems like a natural pair. So why can't visualization people "just visualize" some data? Lots of glossy images and striking movies on the one side, lots of numbers and full hard disks on the other—seems like a natural pair. So why can't visualization people "just visualize" these data? The first—and sometimes main—hurdle is file format and data reading. This allegedly simple issue might well consume 90 percent or more of the time spent on visualization efforts for a data set. To address this problem, application scientists and visualization developers must work together to find the least painful way to share data. A common data model that might serve as a common denominator between independently developed applications would solve such problems, but the need for it is not widely recognized. The F5 approach presented here is one possible approach that addresses many practical and theoretical issues.

Descriptions and Comparisons of Monte Carlo Algorithms

Larry Engelhardt

Comput. Sci. Eng. 11, 103 (2009) (1 page)

Online Publication Date: 19 November 2009

Full Text: PDF (295 kB)

Show Abstract
Complex and highly interdisciplinary by nature, MC methods have been written about extensively over the years. This review of Jun S. Liu's book, Monte Carlo Strategies in Scientific Computing (Springer, 2nd printing, 2008), notes that it focuses heavily on theory, but also describes a wide variety of algorithms.
back to top

Columns

Lessons from Little Dorrit

Charles Day

Comput. Sci. Eng. 11, 104 (2009) (1 page)

Online Publication Date: 19 November 2009

Full Text: PDF (8114 kB)

Abstract Unavailable
Ad Info