Please login to be able to save your searches and receive alerts for new content matching your search criteria.
Unfold/fold transformation systems for logic programs have been extensively investigated. Existing unfold/fold transformation systems for normal logic programs typically fold using a single, non-recursive clause i.e. the folding transformation is very restricted. In this paper we present a transformation system that permits folding in the presence of recursion, disjunction, as well as negation. We show that the transformations are correct with respect to various model theoretic semantics of normal logic programs including the well-founded model and stable model semantics.
Synchronous programming languages like Esterel are widely used in safety-critical domains like avionics. However, it is only with the recent development of mature worst-case execution time (WCET) analysis tools that progress is being made on systematically studying the WCET analysis problem for languages like Esterel. In this context, we present techniques for methodically classifying and detecting different types of infeasible paths that arise while compiling Esterel programs into executable code, via high-level languages such as C. Our experimental results with well-known benchmarks show that the infeasible paths detected using our techniques result in as much as 36.5% reduction in the WCET estimates, compared to when no infeasible path detection is employed.