What is it about?

To ensure that a software system meets the quality expectations of its stakeholders, such expectations are specified in non-functional requirements. Many quality attributes like performance, reliability, and usability are widely known. However, modern software systems are subjected to constant changes that can affect their quality and user satisfaction. These range from failures over deployments to self adaptation like load balancing. They cause a system to deviate from its steady state and to exhibit so-called transient behavior, i.e., a temporary degradation of its normal quality of service. While much research has been done about the specification of ordinary non-functional requirements, not much is known about how and to which degree transient behavior is specified in practice. Another open question is, how software engineers analyze transient behaviour that occurs in their systems and how they can be supported in these tasks. This motivated us to conduct a series of interviews with experienced practitioners to answer our questions. In our interviews with five senior software architects from different German IT companies, we found out that transient behavior is only seldomly specified in non-functional requirements. One of the main reasons is a profound lack of knowledge from business stakeholders and low prioritization of transient behavior. In other terms: "It's already difficult to define requirements for well-known quality attributes. Before thinking about specifying transient behavior, we would be happy to get specifications for non-functional requirements at all." Another observation is that better tooling is needed for the analysis of transient behavior. The interviewees asked for improved filtering options for incidents and improved visualizations and models for transient behavior. Building on these findings we developed multiple prototypes that are intended to support software engineers and architects in the specification and analysis of transient behavior that are shortly introduced in the publication.

Featured Image

Why is it important?

There is not much research on how transient behavior is addressed in practice. With our interviews, we intend to gain an understanding of how the specification and analysis of transient behavior are approached in the industry at the moment.

Read the Original

This page is a summary of: How is Transient Behavior Addressed in Practice?, July 2022, ACM (Association for Computing Machinery),
DOI: 10.1145/3491204.3527483.
You can read the full text:

Read

Resources

Contributors

The following have contributed to this page