“…With trigger-action programming [84], end-users can author customized CAPs by specifying context factors as triggers (e.g., 'after sunset' and 'leaving home'), and smart functions as actions (e.g., 'turn on the lights' and 'turn off the A/C'). To address diversified user needs, researchers and commercial products have greatly expanded the range of context factors to include a variety of environmental identities (e.g., time, temperature, weather, smart objects [3,26,42,62,102]), as well as user's location [49,89,101], status [104], and activities [92,98]. While most existing tools focus on enabling end-users to author CAPs with great flexibility, a runtime issue emerges: it is challenging for users without programming skills to verify that the customized CAPs will behave as intended under varying contexts.…”