Accurately Citing Software and Algorithms Used in Publications

Properly citing academic publications that describe software libraries and algorithms is
the way that open source scientific library users ''pay'' to use the
free software. With large multifaceted libraries and applications that
use several such libraries, even the conscientious user ends up citing
publications in error or missing relevant publications. Some open
source developers list appropriate citations on their website or in
their documentation. Based on a recent addition to the PETSc numerical
software libraries, we suggest an alternative model where the library
itself generates the bibtex items based on {\bf exactly} what
algorithms and portions of the code are used in the application.