Self-Perceptions about Software Engineering: A Survey of Scientists and Engineers
Found in:
Computing in Science & Engineering
By Jeffrey Carver,Dustin Heaton,Lorin Hochstein,Roscoe Bartlett
Issue Date:January 2013
pp. 7-11
Scientists and engineers devote considerable effort to developing large, complex codes to solve important problems. However, while they often develop useful code, many scientists and engineers are frequently unaware of how various software engineering prac...

The Cost of the Build Tax in Scientific Software
Found in:
Empirical Software Engineering and Measurement, International Symposium on
By Lorin Hochstein,Yang Jiao
Issue Date:September 2011
pp. 384-387
All compiled software systems require a build system: a set of scripts to invoke compilers and linkers to generate the final executable binaries. For scientific software, these build scripts can become extremely complex. Anecdotes suggest that scientific p...

Fitting a workflow model to captured development data
Found in:
Empirical Software Engineering and Measurement, International Symposium on
By Min Zhang, Lorin Hochstein
Issue Date:October 2009
pp. 179-190
In this paper, we introduce a semi-automated process called software engineering workflow analysis (SEWA) for developing heuristics that analyze captured data to identify where programmers spend their time. To evaluate our process, we ran two case studies ...

The role of MPI in development time: a case study
Found in:
SC Conference
By Lorin Hochstein, Forrest Shull, Lynn B. Reid
Issue Date:November 2008
pp. 1-10
There is widespread belief in the computer science community that MPI is a difficult and time-intensive approach to developing parallel software. Nevertheless, MPI remains the dominant programming model for HPC systems, and many projects have made effectiv...

Measuring Productivity on High Performance Computers
Found in:
Software Metrics, IEEE International Symposium on
By Marvin Zelkowitz, Victor Basili, Sima Asgari, Lorin Hochstein, Jeff Hollingsworth, Taiga Nakamura
Issue Date:September 2005
pp. 6
In the high performance computing domain, the speed of execution of a program has typically been the primary performance metric. But productivity is also of concern to high performance computing developers. In this paper we will discuss the problems of def...

Diagnosing architectural degeneration
Found in:
Software Engineering Workshop, Annual IEEE/NASA Goddard
By Lorin Hochstein, Mikael Lindvall
Issue Date:December 2003
pp. 137
Software systems evolve over time and undergo changes that can lead to a degeneration of the systems' architecture. Degeneration may eventually reach a level where a complete redesign of the software system is necessary, which is a task that requires signi...

Identifying domain-specific defect classes using inspections and change history
Found in:
Proceedings of the 2006 ACM/IEEE international symposium on International symposium on empirical software engineering (ISESE '06)
By Lorin Hochstein, Taiga Nakamura, Victor R. Basili
Issue Date:September 2006
pp. 346-355
We present an iterative, reading-based methodology for analyzing defects in source code when change history is available. Our bottom-up approach can be applied to build knowledge of recurring defects in a specific domain, even if other sources of defect da...

An empirical study to compare two parallel programming models
Found in:
Proceedings of the eighteenth annual ACM symposium on Parallelism in algorithms and architectures (SPAA '06)
By Lorin Hochstein, Victor R. Basili
Issue Date:July 2006
pp. 114-114
While there are strong beliefs within the community about whether one particular parallel programming model is easier to use than another, there has been little research to analyze these claims empirically. Currently, the most popular paradigm is message-p...

Combining self-reported and automatic data to improve programming effort measurement
Found in:
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering (ESEC/FSE-13)
By Jeff Carver, Jeffrey K. Hollingsworth, Lorin Hochstein, Marvin V. Zelkowitz, Victor R. Basili
Issue Date:September 2005
pp. 356-365
Measuring effort accurately and consistently across subjects in a programming experiment can be a surprisingly difficult task. In particular, measures based on self-reported data may differ significantly from measures based on data which is recorded automa...

Generating testable hypotheses from tacit knowledge for high productivity computing
Found in:
Proceedings of the second international workshop on Software engineering for high performance computing system applications (SE-HPCS '05)
By Forrest Shull, Jeff Carver, Jeff Hollingsworth, Lorin Hochstein, Marvin Zelkowitz, Sima Asgari, Victor Basili
Issue Date:May 2005
pp. 17-21
In this research, we are developing our understanding of how the high performance computing community develops effective parallel implementations of programs by collecting the folklore within the community. We use this folklore as the basis for a series of...

A metric space for productivity measurement in software development
Found in:
Proceedings of the second international workshop on Software engineering for high performance computing system applications (SE-HPCS '05)
By Lorin Hochstein, Robert W. Numrich, Victor R. Basili
Issue Date:May 2005
pp. 13-16
We define a metric space to measure the contributions of individual programmers to a software development project. It allows us to measure the distance between the contributions of two different programmers as well as the absolute contribution of each indi...

Application of a development time productivity metric to parallel software development
Found in:
Proceedings of the second international workshop on Software engineering for high performance computing system applications (SE-HPCS '05)
By Andrew Funk, Jeremy Kepner, Lorin Hochstein, Victor Basili
Issue Date:May 2005
pp. 8-12
Evaluation of High Performance Computing (HPC) systems should take into account software development time productivity in addition to hardware performance, cost, and other factors. We propose a new metric for HPC software development time productivity, def...