Browsing by Author "Nakamura, Taiga"
Now showing 1 - 2 of 2
Results Per Page
Sort Options
Item An Environment of Conducting Families of Software Engineering Experiments(2007-05) Hochstein, Lorin; Nakamura, Taiga; Shull, Forrest; Zazworka, Nico; Voelp, Martin; Zelkowitz, Marvin V.; Basili, Victor R.The classroom is a valuable resource for conducting software engineering experiments. However, coordinating a family of experiments in classroom environments presents a number of challenges to researchers. This paper describes an environment that simplifies the process of collecting, managing and sanitizing data from classroom experiments, while minimizing disruption to natural subject behavior. We have successfully used this environment to study the impact of parallel programming languages on programmer productivity at multiple universities across the United States.Item Recurring Software Defects in High End Computing(2007-06-28) Nakamura, Taiga; Basili, Victor R.; Computer Science; Digital Repository at the University of Maryland; University of Maryland (College Park, Md.)This dissertation presents an empirical approach for building, storing, and evolving knowledge about domain-specific software defects. It is based on an iterative methodology, where the patterns of defects are derived from the combination of pattern identification heuristics and the validation and evolution of the patterns by domain experts. The approach consists of three main activities: (1) Pattern development through reading-based defect analysis of source code versions, (2) Reactive pattern refinement through a variation of structured interviews, and (3) Packaging available knowledge about the defects, such as symptoms and advice about prevention, into derivative artifacts, such as lectures and tools. This approach has been applied to the domain of high performance computing (HPC), to build defect patterns that consist of a classification scheme for defect types and subtypes, and specific defect examples representing that type. For each defect sub-type there is provided a description, a set of symptoms that can help identify if the defect is present, a set of potential causes of the defect, and suggestions about cures and preventions. I verified the feasibility of the methodology within the constraints of available research opportunities in the HPC domain. I conducted several empirical studies, evaluating the reliability of the heuristics, the generality of the defect pattern data though expert opinion, and the usefulness of the patterns through classroom studies and expert opinion. The main outputs produced are an experience base which stores and shares these patterns, so that HPC practitioners can access them at various levels of abstraction and submit feedback and an evolved and evaluated set of educational materials that can be used to help minimize the defects made by novice programmers.