I'm writing code to clean and process a large number of transcript text files. My code will be re-used in the future to process additional files which do not yet exist.
Future files will take on the same general format as existing files, and will be collected/produced using the same procedures as were used to make the existing files. However, it remains possible that future files could violate some assumption built into my code. For example, say I write a regular expression to extract all text after the occurrence of string X
, built on the assumption that X
occurs only once, which holds true in the existing files. If future files violate this assumption, my code could produce unexpected/undesired results.
I am doing my best to avoid this and to make my code as robust as possible, but I don't think I can anticipate all possible scenarios that may present in future files.
Is there a term for this type or class of problem? I plan to make note of this issue to my manager (who is largely a non-programmer) when I deliver my code, and I'd like to be able to use an established term for this in order to gesture -- such as by linking to a relevant Wikipedia page or other source -- to the fact that it is (I assume) a common topic of concern when writing code for data that are not yet fully available.
Related ideas I can think of:
- unanticipated edge cases
- "future-proofing" code, though this is probably more general than what I'm looking for.
- generalization error, though this is about prediction problems in machine/statistical learning, related to differences between training and test sets.