Writing Code For Other People
This paper demonstrates how the cognitive model of the mind can explain
the core fundamentals behind widely accepted design principles. The
conclusion is that software design is largely a task of chunking
analogies and presents a theory that is detailed enough to be
accessible to even the most inexperienced programmer. The corollary
of which is a pedagogical approach to understanding design principles
rather than the necessity of years of software development experience.
A Software Complexity Metric Based On Cognitive Principles
The metric is a measure of the cost of understanding software and can be evaluated at all
levels of the code (from expression/statement through to library/application). A working
prototype has been validated against manufactured examples for refactoring, design
patterns and cohesion levels. The suggestion is that the metric could be used as part
of an approach to automate a large part of refactoring and software design.
Analysing Open Source Software to Better Understand Long Term Memory Structures in the Human Brain
As AI models become larger, replicating long term memory structures (LTM-S) may produce
the same benefits that evolution provided the human brain (efficiency, performance, and
extensibility). At the heart of this paper is the conjecture that software structures are
close representations of LTM-S. If this is true, then open source can be considered a huge
database of easily searchable LTM-S examples that could assist in a deeper understanding of
the same. The paper proposes a general refactoring algorithm based around two elements of
LTM-S, chunks and analogies. The underlying aim is to develop mechanisms and theories to
analyse the analogical and chunking structures employed in software.