On the Cognitive Foundations of Modularity

Research output: Chapter in Book/Report/Conference proceedingConference contributionpeer-review


Modularity is a fundamental concept in software engineering with deep roots in human cognition. However, to date few studies of the cognitive roots of modularity have been carried out. To contribute to filling this gap, we examine memory, abstraction and conceptual categorization as viewed in cognitive psychology. We clarify the connections between those topics and hierarchical decomposition. Using them as a basis, we propose a view of software modules as cohesive and structured representations of conceptual categories geared to facilitate reasoning along multiple levels of abstraction. We examine some features of the object-oriented paradigm and point out strengths and limitations in how mainstream object-oriented languages match the cognitive needs of software developers. We conclude by mentioning some future work that may bring insights on the language features to strive for in the next wave of technology adoption.
Original languageUnknown
Title of host publicationPsychology of Programming Interest Group
Publication statusPublished - 1 Jan 2011
EventPPIG2011: Psychology of Programming Interest Group Annual Conference -
Duration: 1 Jan 2011 → …


ConferencePPIG2011: Psychology of Programming Interest Group Annual Conference
Period1/01/11 → …

Cite this