CJAdviser: SMT-based debugging support for ContextJ

Research output: Chapter in Book/Report/Conference proceedingConference contribution

2 Citations (Scopus)

Abstract

Context-awareness plays an important role in developing flexible and adaptive software. However, it is not easy to write context-aware programs because context cannot be treated as a module in the traditional programming languages. COP (Context-Oriented Programming) languages such as ContextJ * enable programmers to describe the context-aware behavior elegantly. The primary system behavior can be separated from the context-aware behavior. On the other hand, unfortunately, it becomes difficult to debug the programs due to the complexity of COP execution and the dependence between objects and contexts. To deal with this problem, this paper proposes CJAdviser, SMT-based debugging support for ContextJ*. In CJAdviser, the execution trace of a ContextJ* program is converted to a context dependence graph that can be analyzed by the SMT (Satisfiability Modulo Theories) solver Yices. Using CJAdviser, we can check a variety of object-context dependencies such as "Do two objects A and B exist in the Context X at the same time?". In CJAdviser, SMT is applied to not static analysis but dynamic analysis because many context-aware properties are determined at run time.

Original languageEnglish
Title of host publicationProceedings of the 3rd International Workshop on Context-Oriented Programming, COP'11 - Co-located with the 25th European Conference on Object-Oriented Programming, ECOOP 2011
DOIs
Publication statusPublished - 2011
Event3rd International Workshop on Context-Oriented Programming, COP'11 - Co-located with the 25th European Conference on Object-Oriented Programming, ECOOP 2011 - Lancaster, United Kingdom
Duration: Jul 25 2011Jul 25 2011

Publication series

NameProceedings of the 3rd International Workshop on Context-Oriented Programming, COP'11 - Co-located with the 25th European Conference on Object-Oriented Programming, ECOOP 2011

Other

Other3rd International Workshop on Context-Oriented Programming, COP'11 - Co-located with the 25th European Conference on Object-Oriented Programming, ECOOP 2011
Country/TerritoryUnited Kingdom
CityLancaster
Period7/25/117/25/11

All Science Journal Classification (ASJC) codes

  • Computational Theory and Mathematics
  • Software

Fingerprint

Dive into the research topics of 'CJAdviser: SMT-based debugging support for ContextJ'. Together they form a unique fingerprint.

Cite this