Evolvix BEST Names for semantic reproducibility across code2brain interfaces

Ann N Y Acad Sci. 2017 Jan;1387(1):124-144. doi: 10.1111/nyas.13192. Epub 2016 Dec 5.

Abstract

Names in programming are vital for understanding the meaning of code and big data. We define code2brain (C2B) interfaces as maps in compilers and brains between meaning and naming syntax, which help to understand executable code. While working toward an Evolvix syntax for general-purpose programming that makes accurate modeling easy for biologists, we observed how names affect C2B quality. To protect learning and coding investments, C2B interfaces require long-term backward compatibility and semantic reproducibility (accurate reproduction of computational meaning from coder-brains to reader-brains by code alone). Semantic reproducibility is often assumed until confusing synonyms degrade modeling in biology to deciphering exercises. We highlight empirical naming priorities from diverse individuals and roles of names in different modes of computing to show how naming easily becomes impossibly difficult. We present the Evolvix BEST (Brief, Explicit, Summarizing, Technical) Names concept for reducing naming priority conflicts, test it on a real challenge by naming subfolders for the Project Organization Stabilizing Tool system, and provide naming questionnaires designed to facilitate C2B debugging by improving names used as keywords in a stabilizing programming language. Our experiences inspired us to develop Evolvix using a flipped programming language design approach with some unexpected features and BEST Names at its core.

Keywords: debugging code2brain interfaces; evolutionary systems biology simulations; flipped programming language design; fundamental modes of computing; names of identifiers in code; ontology computing; programming language paradigms and naming.

Publication types

  • Review
  • Research Support, N.I.H., Extramural
  • Research Support, U.S. Gov't, Non-P.H.S.
  • Research Support, Non-U.S. Gov't

MeSH terms

  • Biological Ontologies*
  • Brain-Computer Interfaces* / standards
  • Brain-Computer Interfaces* / trends
  • Cloud Computing / standards
  • Computational Biology / instrumentation
  • Computational Biology / methods*
  • Computational Biology / standards
  • Computational Biology / trends
  • Data Mining / trends
  • Humans
  • Internet
  • Programming Languages
  • Reproducibility of Results
  • Software
  • Software Design
  • Terminology as Topic