Cognitive aspects of software design
Are you passionate by software design, but you believe a lot of developers don’t really grasp what OOP means? The goal of this project is to understand and fix that!
This project involves:
Devising experiments to explore the challenges developers face when trying to comprehend software design. This might involve the use of eye tracking devices or brain-computer interfaces.
Analyze GitHub’s data to understand how developers deal with design decisions in scale.
Ethnography studies at large industry partners with the goal of observing software design in the wild.
Burkhardt, J.-M., Detienne, F., & Wiedenbeck, S. (1998). The effect of object-oriented programming expertise in several dimensions of comprehension strategies. Proceedings. 6th International Workshop on Program Comprehension. IWPC’98 (Cat. No.98TB100242), 82–89. https://doi.org/10.1109/WPC.1998.693294
Karahasanović, A., Levine, A. K., & Thomas, R. (2007). Comprehension strategies and difficulties in maintaining object-oriented systems: An explorative study. Journal of Systems and Software, 80(9), 1541–1559. https://doi.org/10.1016/j.jss.2006.10.041
Corritore, C. L., & Wiedenbeck, S. (2001). Exploratory study of program comprehension strategies of procedural and object-oriented programmers. International Journal of Human Computer Studies, 54(1), 1–23. https://doi.org/10.1006/ijhc.2000.0423
Contacts for the project
- Maurício Aniche (TU Delft)