SERT RESEARCH and INDUSTRY KICK-OFF EVENT
Time: Monday 1st of October, 9:00 – 17:00 (..ish) Venue: Telia, Stjärntorget 1, Solna, STOCKHOLM
SERT Research and Industry event offers an extensive full day program of interest to industrial partners to discuss and lift bleeding-edge research and have a great kick-off!
The first part of the conference includes the presentations of SERT’s six sub-projects as they address both specific and overall challenges identified in dialogue with our partners thus far. The second part of the conference aims to an interactive mapping between the sub-projects, industry challenges, and each industrial partner and this will be organised in an open discussion forum with mingling and poster islands where you as a participant can move between areas. It will be an opportunity for researchers/ sub-project leaders to meet with industry representatives to discuss and identify challenges and starting points for the upcoming research and collaboration in SERT.
The event is free for SERT partner companies only (max 5 participants per company). Agenda (subject to change) can be seen below. Full program and other conference information will be sent out early September. In addition to physical presence the initial seminars will also be made available in on-line streaming format for partners only (more information to come). PLEASE take time to register as soon as possible as there are many on the waiting list.
Watch the SERT Kick-off live
We are also live-streaming all the presentations during the event for virtual attendees.
Please help us share the link for live-streaming for all people interested!!
Join via: https://www.bth.se/events/kick-off-sert/
We arrive at Telias great and modern venue around nine so that we have time to register and proceed to the event in time for start at 9.30. Breakfast are served from 07:30 if you drop in early.
Project manager and senior research scientist Prof. Dr. Dr. Gorschek gives an introduction to the research profile with an overview of utilizing multi-vocal research in combination with third generation empirical software engineering to solve tomorrows challenges today!
SP1: Augmented Automated Testing: levering human-machine symbiosis for high-level test automation
The software market has over the last couple of years been spurred on by a need-for-speed that shows no sign of slowing down. This trend has fostered a culture of test automation since manual testing has been unable to scale with the size and speed of modern software development practices. Further, automation is requested on all levels of system abstraction, from small unit tests of individual software components to large-scale end-to-end system tests on a GUI level of abstraction.
However, traditional testing, manual as well as automated, has been reliant on human users to define the test scenarios. Hence, acting in a parasitic manner that forces the user to define tests, how/when to run the tests and to analyze test results to act as final oracles. In fact, some test-purposes cannot even be fully automated, like test exploration, due to lacking test oracles. Simply put, a cognitive human being is required today to identify correct and incorrect system behavior. However, what if we could change this dynamic?
In this research, the ultimate goal is to find ways to leverage the cognitive power of users to explore and find defects, faults and tests, whilst allowing machines to perform the repetitive and boring tasks that make them error-prone when executed by humans. This will be achieved by utilizing advances in machine learning and artificial intelligence (AI) to foster mutualistic (from mutualism) collaboration between tool and user rather than the parasitic relationship. Mutualism will enable new and smarter tools to learn from the user, process the learnings and provide the user with feedback to improve the user’s capabilities. These improvements would, through reinforcement learning, make the tool even smarter and more capable, which in turn positively affects the tool’s capability to guide the user, creating a positive feedback loop that foster joint, mutualistic, improvement of both user and tool.
However, with this new technology comes many new challenges, questions, and concerns, such as:
- How do we construct a system with these characteristics?
- How do we efficiently train such a system?
- How is user trust affected when the system fails and how can it be reacquired?
- How do we maintain such a system?
- Where in the continuous pipeline does such a system fit to optimize its value?
SP2: Heterogeneous multi-source requirements engineering
Companies are currently exposed to large amounts of heterogeneous data originating from business intelligence, product usage data, reviews and other forms of feedback. This challenges requirements identification and concretization and creates demands for revisiting requirements management activities. A growing trend is also that substantial amount of this data is generated by machine-learning components integrated into software products that are self-adaptive (e.g. systems with deep learning algorithms). This means that these software products not only continuously provide data about the changing environment, but also self-adapt and change their behaviour based on contextual fluctuations (so called non-deterministic behaviour).This sub-project focuses on how to support the inception, realization and evolution phases of software systems development by efficient data acquisition and analysis approaches and machine learning.
In this talk, we will revisit requirements engineering activities and focus on how we can transform them to be more data-intensive and better support of:
i). data collection and problem formulation (intelligence, identifying relevant data sources, filtering relevant information from non-relevant) – requirements analysts can not analyze all available data, therefore intelligent filtering and triage is needed to support requirements screening and early removal of irrelevant information
ii) development of requirements realization alternatives (prioritizing these opinions and presenting them for decision-makers ) – requirements prioritization can be data driven and complement expert opinions by using analogy and product usage data
iii) evaluation of these alternatives (semi-automated analysis of product usage data and user feedback) where product usage data helps to understand the consequence and model projected customer response to new functionality.
SP3: Value-Oriented Strategy to Detect and Minimize Waste
Software companies are immersed in a competitive market in which changes need to be done under aggressive deadlines, and that sometimes are by themselves companies’ competitive advantage. This time pressure might force companies to make ineffective use of resources, by generating waste or overhead e.g., investing time and money in activities that do not produce any value. Examples of those can be investing on analysis and prototyping of requirements that would never be included in a product, or barely good enough decisions that might have a great impact on several areas of the product development. The consequences are severe and include: lower efficiency of requirements processing and decision making, code and architectural erosion, or sub-optimal usage of testing resources.
The goal of this research is to be able to identify and mitigate the different types of waste and overhead on the different stages of the software development process, to allow organizations to focus on value creation. Most of the work has focused on the development and maintenance activities, but we still need to have a broader view of the problem, including waste in requirements and testing unexplored.
In this talk we will introduce and illustrate with examples the different types of waste and overhead in the inception, realization and maintenance stages of the development process. Some of these types have a clear impact on the waste like the requirements prioritization problem, to choose the “right” features in the inception phase. The problem is that some types of overhead can be mistaken for waste, like intra and inter-team communication, and when minimized then even more waste is introduced (lack of understanding due to lack of communication).
The concerns that remain open are:
How can we identify waste? What is overhead? How can we avoid these to focus on value creation?
All these questions are covered in the SERT subproject “Value-Oriented Strategy to Detect and Minimize Waste”
Lunch served at the venue
SP4: Cognitive software engineering development models
SP5: Study and Improve LeaGile handling of organizational and team interfaces
Staying competitive in today’s software market requires a high degree of flexibility and ability to adapt to changing market conditions. Agile and Lean software development have been widely adopted as solutions for reducing needless work and increasing flexibility. Open Source approaches have revolutionised software development through the use of open collaboration platforms with advanced tools and methods for code sharing and communication. However, these methods have issues with scaling and do not inform companies on how they can deal with cognitive and organisational limitations that prevent high work performance and flexibility to be realised in practice.
Traditionally, software development processes are seen as pipelines that transform inputs to outputs – for example, requirements become specifications, and specifications become code. Part of what moves in the process is software architecture in the traditional sense – high-level blueprints that specify how a software system is structured and how the software components fit together. The process steps and the components of the architecture can be mapped to units in the software organisation. We know that this relationship is an important factor that affects communication and coordination in the organisation. We also know that it influences cognitive load, social interactions, and motivation among individual software developers. A well designed system of processes, architectures, and organisational and team interfaces translate to higher performance and flexibility and can better support developers’ strengths and help them overcome their weaknesses.
In this talk, we illustrate why processes, architectures, and organisational and team interfaces form a crucial system of work design in software development and how they are related to developers’ cognition, feelings, and motivation. We give examples of how improvements in the work design have led to increased performance and flexibility, and discuss what could be possible in terms of creating intelligent automation that makes processes and architectures interactive rather than static pipelines and blueprints.
These topics are covered in the SERT sub-projects “Cognitive software engineering development models” and “Study and Improve LeaGile handling of organizational and team interfaces”.
SP6: Verification of Software Requirements in Dynamic, Complex and Regulated Markets
Software engineering is a data and people intensive activity. Data is accumulated, analyzed and transformed in order to drive activities such as requirements analysis, software design and implementation, testing and long-term maintenance. While task specialization and processes help to cope with the demands of the growing complexity of today’s software products, there can be gained a lot by supplementing human intelligence with computational intelligence. In the past years, we have identified, studied and analyzed human software engineering processes and designed support systems that help engineers to perform their tasks more effectively and efficiently.
One example is the interactive support for writing requirements specifications that indicates adherence to certain quality rules. Identifying defects in requirements already when they are written reduces reviewing costs and allows to free up resources to verify quality aspects for which humans are still the best judges.
Another example is the semi-automated identification of domain-specific synonyms. In large organizations that collaborate with external suppliers and customers, agreeing to a common terminology is often tedious and cost-intensive. Creating a common glossary can reduce ambiguity and misunderstandings internally but also when interfacing with external partners.
In this talk we will illustrate practical examples of how human and computational intelligence can be combined to improve software engineering activities. In addition we give an outlook how these technologies could be utilized to check conformance to external requirements.
After getting an introduction to the base sub-projects and areas each sub-project team will be available for discussions, questions and details. This session is CRITICAL as initial meet-and-greet as well as discussions gives the opportunity for new ideas and initial bookings of meetings and workshops. We really hope you will active and contribute!
This session is short but gives an overview of next steps planned in the SERT research profile, but more importantly gives YOU the opportunity to ask questions and share ideas. The session lasts as long as we need it to!…