Professor Stephen Barrett

Assistant Professor
Tel. +353 (0)1 8962730

School of Computer Science and Statistics
Room 0.28, Lloyd Institute, Trinity College Dublin 2, Ireland


Social Software Engineering

In the social computing Social Computing is an area concerned with the intersection of social behaviour and computation, that encompasses fields
such as social networking, collaborative work, and collective intelligence.

See "Social Computing", introduction to Social Computing special edition of the Communications
of the ACM, edited by Douglas Schuler, Volume 37, Issue 1 (January 1994), Pages: 28 – 108.
space, my students and I have developed quantitative methods for the assessment of qualitative questions regarding human behaviour, such as trust, health and related computations in online social networks, human mental workload assessment, recommendation, market trading, and most recently to questions in the domain of social software engineering. Social Software Engineering is a branch of software
engineering that is concerned with the social aspects
of the software development process and the study and
construction of socially-oriented tools to measure
and support collaboration and knowledge sharing in
software engineering. It can also be viewed as a
specialism of computational social science.
The technical basis of the approach is the application of defeasible/non-monotonic argumentation schemes, borrowed from proponents of the strong AI model such as John L. Pollock, For example, see Pollock, J. L. (1987). Defeasible reasoning. Cognitive
science, 11(4), 481-518.
and Pollock, J. L. (1995). Cognitive Carpentry:
A Blueprint for how to Build a Person. MIT Press, Cambridge, MA, USA.
but applied to the assessment of human behaviour rather than the replication of human decision making, and structured as computationally efficient filtering and ranking schemes for the execution over large-scale, complex and heterogeneous behavioural data sets.

Fascinating visualisation of the development of the Linux Kernel from 1991-2015, by Darrick Wong.
We are now applying this approach exclusively to challenges in social software engineering, treating software development as a computational sociological phenomenon, but with particular focus on the contributing role of individuals in the collaborative creation of the software artefact. [more]



This year, I am teaching the following modules:

  • CS3012 - Software Engineering - a third year undergraduate module introducing software engineering as a professional discipline.