The work of software engineers
is inherently cognitive. Integral to their duties is understanding and
developing several artifacts. Each one is based on a specific model and a given
level of abstraction. What distinguishes Software Engineering is the logical complexity
of some artifacts (especially programs), the high dependency among them, and
the fact that the success of the software project also depends on the human and
social factors, which characterize the engineers as individuals and as a group.
The complexity of the daily tasks within a software development team motivates
the investigation on the relevance of automating the software professionals’
cognitive processes in order to make their work easier and more efficient. The
success of this endeavor is expected to emerge as Cognitive Software
Engineering. For this aim, the present article suggests a research framework
and roadmap, which build on the current state of the art. Some future directions
in the Cognitive Software Engineering are presented.
Cite this paper
Chentouf, Z. (2014) Cognitive Software Engineering: A Research Framework and Roadmap. Journal of Software Engineering and Applications
, 530-539. doi: 10.4236/jsea.2014.76049
 Moreno, A.M., Sanchez-Segura, M.I., Medina-Dominguez, F. and Carvajal, L. (2012) Balancing Software Engineering Education and Industrial Needs. Journal of Systems and Software, 85, 1607-1620
 Baik, J. (2000) The Effects of Case Tools on Software Development Effort. Ph.D. Thesis, University of Southern California.
 Mosley, V. (1992) How to Assess Tools Efficiently and Quantitatively. IEEE Software, 9, 29-32.
 Berdonosov, V. and Redkolis, E. (2011) TRIZ-Fractality of Computer-Aided Software Engineering Systems. Procedia Engineering, 9, 199-213. http://dx.doi.org/10.1016/j.proeng.2011.03.112
 Gea, J.M.C., Nicolás, J., Alemán, L., Toval, A. and Vizcaíno, A. (2012) Requirements Engineering Tools: Capabilities, Survey and Assessment. Information and Software Technology, 54, 1142-1157.
 (2014) ObjectByDesign. http://www.objectsbydesign.com/tools/
 (2014) European Network for the Advancement of Artificial Cognitive Systems. www.eucognition.org
 Stork, H.G. (2012) Towards a Scientific Foundation for Engineering Cognitive Systems—A European Research Agenda, Its Rationale and Perspectives. Biologically Inspired Cognitive Architectures, 1, 82-91.
 Krathwohl, D.R. (2002) A Revision of Bloom’s Taxonomy: An Overview. Theory into Practice, 41, 212-218.
 Robbins, J.E. and Redmiles, D. (2000) Cognitive Support, UML Adherence, and XMI Interchange in Argo/UML. Information and Software Technology, 42, 82-92. http://dx.doi.org/10.1016/S0950-5849(99)00083-X
 Storey, M., Fracchia, F. and Muller, H.A. (1999) Cognitive Design Elements to Support the Construction of a Mental Model during Software Exploration. Journal of Systems and Software, 44,171-185.
 Basili, V. (1992) The Experimental Paradigm in Software Engineering. Lecture Notes in Computer Science, 706, 3-12.
 Wautelet, Y., Schinccus, C. and Kolp, M. (2008) A Modern Epistemological Reading of Agent Orientation. International Journal of Intelligent Information Technologies, 4, 46-57. http://dx.doi.org/10.4018/jiit.2008070103