Abstract

Many software systems depend on other systems to function correctly or are themselves composed of interdependent subsystems. In that context, behavioral changes in a dependency may have consequences for a dependent subsystem. This includes changes to non-functional properties such as latency or availability. In this paper we use the term non-functional coupling to mean the extent to which a subsystem is affected by changes to non-functional properties in a dependency. We argue that non-functional coupling has implications for the maintainability, reliability and performance of an overall system. We also explore the extent to which various engineering techniques used in interaction code (i.e., the code in a subsystem that manages requests to and responses from a dependency) can influence the strength of that coupling. We do this by simulating various techniques (including several novel techniques) using a tool named Quartermaster.

Degree

MS

College and Department

Physical and Mathematical Sciences; Computer Science

Rights

https://lib.byu.edu/about/copyright/

Date Submitted

2021-08-12

Document Type

Thesis

Handle

http://hdl.lib.byu.edu/1877/etd12493

Keywords

Software coupling, interaction, non-functional property

Language

english

Share

COinS