2017 IEEE 11th International Conference on Self-Adaptive and Self-Organizing Systems (SASO) (2017)
Tucson, Arizona, USA
Sept. 18, 2017 to Sept. 22, 2017
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/SASO.2017.15
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.
Software systems, Adaptive systems, Labeling, Tools, Hardware, Minimization
A. Christi, A. Groce and R. Gopinath, "Resource Adaptation via Test-Based Software Minimization," 2017 IEEE 11th International Conference on Self-Adaptive and Self-Organizing Systems (SASO), Tucson, Arizona, USA, 2017, pp. 61-70.