TY - GEN
T1 - Resource Adaptation via Test-Based Software Minimization
AU - Christi, Arpit
AU - Groce, Alex
AU - Gopinath, Rahul
N1 - Publisher Copyright:
© 2017 IEEE.
PY - 2017/10/9
Y1 - 2017/10/9
N2 - Building software systems that adapt to changing resource environments is challenging: developers cannot anticipate all future situations that a software system may face, and even if they could, the effort required to handle such situations would often be too onerous for practical purposes. We propose a novel approach to allow a system to generate resource usage adaptations: use delta-debugging to generate versions of software systems that are 1-minimal with respect to satisfying various (labeled) subsets of a system's test suite. Many such variations will, while retaining core system functionality, use fewer resources. We describe an efficient tool for computing such variants and show how it reduces with respect to randomly selected subsets of Java class test suites, and propose an infrastructure in which this approach leads to a method for resource adaptation in the field. Using the NetBeans IDE, we demonstrate that even without additional infrastructure or heuristics, our approach is capable of quickly and cleanly removing a program's undo functionality, significantly reducing its resource usage, with no more effort than simply labeling three test cases asundo-related.
AB - Building software systems that adapt to changing resource environments is challenging: developers cannot anticipate all future situations that a software system may face, and even if they could, the effort required to handle such situations would often be too onerous for practical purposes. We propose a novel approach to allow a system to generate resource usage adaptations: use delta-debugging to generate versions of software systems that are 1-minimal with respect to satisfying various (labeled) subsets of a system's test suite. Many such variations will, while retaining core system functionality, use fewer resources. We describe an efficient tool for computing such variants and show how it reduces with respect to randomly selected subsets of Java class test suites, and propose an infrastructure in which this approach leads to a method for resource adaptation in the field. Using the NetBeans IDE, we demonstrate that even without additional infrastructure or heuristics, our approach is capable of quickly and cleanly removing a program's undo functionality, significantly reducing its resource usage, with no more effort than simply labeling three test cases asundo-related.
KW - delta-debugging
KW - program mutation
KW - resource adaptation
KW - tests as specifications
UR - http://www.scopus.com/inward/record.url?scp=85035356511&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85035356511&partnerID=8YFLogxK
U2 - 10.1109/SASO.2017.15
DO - 10.1109/SASO.2017.15
M3 - Conference contribution
AN - SCOPUS:85035356511
T3 - Proceedings - 11th IEEE International Conference on Self-Adaptive and Self-Organizing Systems, SASO 2017
SP - 61
EP - 70
BT - Proceedings - 11th IEEE International Conference on Self-Adaptive and Self-Organizing Systems, SASO 2017
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 11th IEEE International Conference on Self-Adaptive and Self-Organizing Systems, SASO 2017
Y2 - 18 September 2017 through 22 September 2017
ER -