Understanding large software systems is difficult. Traditionally, automated tools are used to assist program understanding. However, the representations constructed by these tool...
Software architecture is an important form of abstraction, representing the overall system structure and the relationship among components. When software is modified from one ver...
Testing of concurrent programs is much more difficult than that of sequential programs. A concurrent program behaves nondeterministically, that is, the program may produce differe...
Abstract—Security-by-Contract (S×C) is a paradigm providing security assurances for mobile applications. In this work, we present an extension of S×C enriched with an automatic...
Patching technologies are commonly applied to improve the dependability of software after release. This paper proposes an autonomous hot patching (AHP) framework to fully automate...