iSNEAK: Partial Ordering as Heuristics for Model-Based Reasoning in Software Engineering
Andre Lustosa, Tim Menzies
TL;DR
The paper tackles information overload in model-based software engineering by introducing iSNEAK, an incremental AI solver that uses partial orderings to quickly rank and prune candidate solutions with minimal human input. It combines recursive bi-clustering (via FASTMAP Nyström PCA approximation), discretization, distance-based division, and a two-pass ranking scheme (automatic and human-in-the-loop) to converge on high-quality configurations. Empirical results across diverse case studies (XOMO variants, POM3, and SPLOT SPL models) show iSNEAK achieves human-acceptable solutions with significantly fewer questions than prior state-of-the-art methods, while maintaining 100% solution validity. The approach reduces cognitive load, mitigates information overload, and preserves human preferences without sacrificing optimization quality, offering practical impact for complex, multi-goal SE problems.$
Abstract
A "partial ordering" is a way to heuristically order a set of examples (partial orderings are a set where, for certain pairs of elements, one precedes the other). While these orderings may only be approximate, they can be useful for guiding a search towards better regions of the data. To illustrate the value of that technique, this paper presents iSNEAK, an incremental human-in-the-loop AI problem solver. iSNEAK uses partial orderings and feedback from humans to prune the space of options. Further, in experiments with a dozen software models of increasing size and complexity (with up to 10,000 variables), iSNEAK only asked a handful of questions to return human-acceptable solutions that outperformed the prior state-of-the-art. We propose the use of partial orderings and tools like iSNEAK to solve the information overload problem where human experts grow fatigued and make mistakes when they are asked too many questions. iSNEAK mitigates the information overload problem since it allows humans to explore complex problem spaces in far less time, with far less effort.
