IRR: Software Engineering

Software Engineering

What differentiates the sub-area from the other programmes on the Informatics MSc portfolio?

Software engineering is the study of how predictably to produce, deploy, operate and decommission software artifacts.  Typically this will involve considering the capturing of requirements for software and transforming them into a specification, the design, construction, analysis, quality assurance and maintenance of software.  Together with consideration of processes for these activities, costing and estimation, process improvement, regulation of processes and certification of the resulting software.  This may also consider the training and certification of software engineers.

 

Are there go-to sources to find reviews and perspectives on these research topics. i.e. are there any good review journals that are worth browsing to get topic overviews.

Computing surveys https://dl.acm.org/journal/csur is probably as good a place as any to find surveys.  

 

What are the key journals or conferences in the field for finding high quality research papers in these topics

Software Engineering is a huge field with many subfields.  There is a ranked list of Software Engineering journals here: https://research.com/journals-rankings/computer-science/2021/software-programming - IEEE transactions on Software Engineering is the best overall journal while others are more specialised on particular fields or methodologies.  For example, Empirical Software Engineering that focusses on studies, or IEEE Transaction on Dependable and Secure computing with a dependability focus.  

Conferences

As with journals, there is a ranked list of conferences here: https://research.com/conference-rankings/computer-science/2021/software-programming - the International Conference on Software Engineering (ICSE) is the main general conference but there are many conferences.  For example, in Europe, ETAPS is a large conference: https://etaps.org incorporating 4 conferences with relevance to Software Engineering.  More specialised (but very large conferences) such as DSN (https://dsn2022.github.io) are also useful places to look for interesting papers.  

 

Are there any particular high profile or rapidly growing research areas in the programme that you would suggest might be worth looking at for potential IRR themes. 

 

  • Governance of systems involving machine learning: particularly in security- and safety-critical contexts e.g. health and automotive.

  • Assurance in modern development processes: how can we ensure that deployed systems have appropriate levels of assurance when they are delivered using processes that include continuous delivery and/or deployment and devops.

  • Incorporating Machine Learning components into software development processes: this raises a wide range of issues around management once the system is operational, dependability, predictability of such systems..

  • Testing: how to build testing into modern processes, particularly around testing Machine Learning components.  Search-based testing and testing improvement are also active areas of work.  How can we incorporate machine learning into testing.

  • Blockchain: incorporating distributed ledger technologies into systems, specifying and verifying smart contracts.

  • Quanum: how do we engineer quantum computing software, development process, specification, testing, ....

  • Sustainability: Many systems have very long lifetimes spanning significant changes in the underlying infrastructure and technologies used to deliver systems.  How can we ensure such systems work correctly in the face of the need for maintenance and ever changing environments.

  • CyberSecurity: particularly of critical systems and infrastructures.

  • Software Architecture Governance: architecture plays a critical role in ensuring that large systems are comprehensible and maintainable.  As we move to more agile, lightweight approaches to development decision making is delegated and inconsistent decisions across different teams can lead to significant technical debt.  Governance attempts to distribute architectural knowledge to avoid these issues.


Contrubuters: S Anderson

Last update: 13 October 2021


 

License
All rights reserved The University of Edinburgh