How to use this experience base?
From HPCBugBase
HPCBugBase Menu
Submit feedback
Overview
- Overview of HPC Defect Patterns
- How to use this experience base?
- What are HPC defects?
Index
- Defect types (defect patterns)
- Specific defects (individual defects that belong to a defect type)
- Instances (code examples)
- Articles (various info)
- Templates
- Show all categories
- Show all pages
Index by Languages
[edit] What kind of data is stored in the experience base?
HPCBugBase stores empirical knowledge about HPC defects with various levels of abstraction. In the current implementation, the pages are labeled with predefined "categories" to represent these levels. While each Wiki page can still be written arbitrary information, we try to keep refining the text based on these categories for easy access. The following main categories are currently defined.
- Classification schemes: The entries in this category describe the schemes of classification for HPC defects. The most current version of our classification scheme is shown in the top page. Other entries keep older versions or the classification schemes developed by other researchers.
- Defect types: The entries in this category describe defect types (classes) used in the classification schemes. Each type is defined by grouping similar defects together and extracting their common properties. The information covered by these entries include the general description of the defect types, their symptoms, and possible cures and preventions. Some defect types may be a sub-type of another defect type.
- Specific defects: The entries in this category describe specific defects which frequently appear in HPC applications. The information provided by these entries includes a detailed defect description (i.e., why it is a defect), code samples, and statistics about the occurrence and time to find/fix if they are available. Since defects are often closely coupled with specific programming models and/or language features, the entries should also cover such information.
- Defect instances: The entries in this category correspond to individual defects in the source files. Due to the privacy issues the current entries are mostly "code snippets" which represent the essential part of the defective code. In a future we will disclose actual source files that can be compiled, or the links to publicly available source files containing defects.
As indicated above, the entries at different levels form a tree structure. A classification scheme consists of a set of defect types. Each defect type represents a collection of specific defects, and/or include sub-types. Each specific defect is a description of actual defect instances which appear in source files.
[edit] Generic usage
There are three basic ways to access the entries stored in HPCBugBase:
- Enter keywords in the search box and click "Go" or "Search".
- Open the list of categories and view the entries that belong to the chosen category
- View the list of all entries
To add or modify the entry, read the Help page.
[edit] Use cases
Intended users include, but not limited to:
- HPC developers who want to decrease the time spent for debugging and testing
- Tool providers who need a testbed to evaluate their tool.
- Language designers who create a next-generation language for better productivity
- Software engineering researchers who seek good software engineering practices for HPC.
- Professors who teach an HPC course
- Students who want to learn about recurring software defects
To demonstrate how to access the type of information you need, we present several use scenarios for different purposes.
If you are visiting the HPCBugBase for ...
- learning how to avoid and resolve software defects in high performance computing, Use case scenario for developers may be useful.
- obtaining resources for developing and evaluating tools, Use case scenario for tool providers may be useful.
- collecting information for planning an HPC course, Use case scenario for professors may be useful.
Otherwise, here's a general suggestion for using the content of the experience base.
- If you have specific keywords in mind, just type them in the search box in the left bar and click 'Go' or 'Search'.

