Dr
Paul M.
Clarke

Primary Department
Faculty of Engineering and Computing
Role
Deputy Head of School of Computing
Work Area/Key Responsibilities
Computing
Phone number: 01 700
7021
Campus
Glasnevin Campus
Room Number
L2.27

Academic biography

Associate Professor in the DCU School of Computing, where I am also presently serving as B.Sc. in Computer Science / Computer Applications Programme Board Chair.

In 2019, I was appointed Irish Head of Delegation to ISO/IEC Joint Technical Committee 1, Sub-Committee 7: Software and Systems Engineering, where I have also acted as editor and author of international standards. I am presently serving as Director and Treasurer for the International Systems and Software Process Association (https://isspa-process.org/), and Steering Committee Chair for the International Conference on Software and Systems Processes. I am also a Scientific co-Chair, co-Editor and  Board Member for the European System, Software and Service Process Improvement Conference.

Recent research highlights include Principal Investigator on the Future Software Systems Architectures project which is funded by the Disruptive Technologies and Innovation Fund (DTIF). This project, funded to €2.1M, examines the application of AI to the task of software architectural transformation, notably in the context of microservices extraction from monolith-based architectures. Other research interests include continuous software engineering, serverless computing, human aspects of software development, gamification in software development, and software process adaptive capability. Formerly, I was Research Manager for the MDevSPICE? safety critical medical device software assessment framework project.

In the early part of my career, I accumulated 13 years of industrial experience in a number of successful software development firms, including Logica (formerly Aldiscon Ltd.), the FINEOS corporation and Arantech Ltd. (later acquired by Tektronix Ltd.). During this time, I held a range of positions such as Senior Software Engineer, Software Development Manager, Engineering Manager, Programme Manager, Global Head of Support and Maintenance, and Program Control Manager. 

In 2012, I completed my PhD on the topic of evolutionary mechanisms that confer competitive advantages on software development firms, this work ultimately being published in IEEE Transactions on Software Engineering (TSE), see: 

Research interests

My research is currently focused in the following areas:

(1) Software System Automated Architectural Transformation
(2) Complexity Theory and Software Development Processes.
(3) Software Development Process Terminology.
(4) Continuous Software Engineering.
(5) Software Process Adaptation.

(6) Human factors in Software Engineering & SE Education.


 1. Software System Automated Architectural Transformation.

With the era of serverless computing emerging, there is a need to transform established monolith based software architectures into distributed software architectures. Such transformation tasks are presently largely manual, slow, expensive and risky. In an effort to reduce the effect of these concerns, we have proposed the use of dynamic and static system and code analysis in combination with other data sources of value, for example source code repository metrics. To support this research, we have secured a Disruptive Technologies and Innovation Fund (DTIF) grant of c.€2.1M together with FINEOS ltd and fourTheorem ltd.


 2. Complexity Theory and Software Development Processes. Work to examine the relationship between situational factors and software development processes suggests that the design and adaptation of processes is similar to behaviour observed in complex adaptive systems. Further information is available at: Related research paper on complexity theory and software development processes.
 3. Software Development Process Terminology. A great deal of process innovation has been proposed over the decades, up to the present time where we witness an explosion of lean and agile software development methodologies. With the  passing of time, new terminology has been introduced, sometimes to refer to new concepts, other times just new terms for preexisting concepts. Our work in this areas seeks to understand the scale of terminological confusion and to examine its impact. Our  terminology research is closely related to core software engineering process theory research which is concerned with the  identification of universal concerns in software development (for example, we will always have at least one iteration, and we must  always have some requirements, and we must always produce some code). Further information is available at: Related research paper on software development process evolution and  Related research paper on software development process terminological confusion.
 4. Continuous Software Engineering.In recent years, tooling has enabled software development to speed  up. Tools now exist to allow us to rapidly deploy to target  operational environments and to automatically perform a whole host of testing. These tooling advances - when coupled with  emerging microservices architectures and container technology - allow for rapid and reliable new feature delivery. We term our research in this space Continuous Software Engineering. Further  information is available at:  Related research paper on continuous software engineering.
 5. Software Process AdaptationIn common with some earlier software dev