Proceedings of the ACM SIGPLAN 2014 Workshop on Partial Evaluation and Program Manipulation 2014
DOI: 10.1145/2543728.2543744
|View full text |Cite
|
Sign up to set email alerts
|

A modular and generic analysis server system for functional logic programs

Abstract: We present the design, implementation, and application of a system, called CASS, for the analysis of functional logic programs. The system is generic so that various kinds of analyses (e.g., groundness, non-determinism, demanded arguments) can be easily integrated. In order to analyze larger applications consisting of dozens or hundreds of modules, CASS supports a modular and incremental analysis of programs. Moreover, it can be used by different programming tools, like documentation generators, analysis envir… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
5
0

Year Published

2015
2015
2020
2020

Publication Types

Select...
6
1

Relationship

4
3

Authors

Journals

citations
Cited by 9 publications
(5 citation statements)
references
References 30 publications
(50 reference statements)
0
5
0
Order By: Relevance
“…3. To implement the analysis, we used the Curry analysis system CASS [20]. CASS is a generic program analysis system which provides an infrastructure to implement new bottom-up analyses.…”
Section: Methodsmentioning
confidence: 99%
See 1 more Smart Citation
“…3. To implement the analysis, we used the Curry analysis system CASS [20]. CASS is a generic program analysis system which provides an infrastructure to implement new bottom-up analyses.…”
Section: Methodsmentioning
confidence: 99%
“…Since Curry with all its syntactic sugar (we have only presented a small fragment of it) is a quite rich source language, a simpler intermediate representation of Curry programs has been shown to be useful to describe the operational semantics [1], compile programs [10,19], or implement analyzers [20] and similar tools. Programs of this intermediate language, called FlatCurry, contain a single rule for each function where the pattern matching strategy is represented by case expressions.…”
Section: Functional Logic Programming and Currymentioning
confidence: 99%
“…These applications include implementing Curry by compiling into other languages, like Prolog [17] or Haskell [10]. FlatCurry is also the basis for specifying the operational semantics of Curry programs [1], building generic analysis tools [18], or verifying properties of Curry programs [15,16]. The FlatCurry format of a Curry program removes some syntactic constructs, such as nested scopes and infix notation, that make source programs more human readable.…”
Section: Flatcurrymentioning
confidence: 99%

ICurry

Antoy,
Hanus,
Jost
et al. 2019
Preprint
Self Cite
“…In order to decide between these transformation options, our extension of CurryCheck uses the analysis framework CASS [23] to approximate the termination behavior of both operations. If the termination property of both operations can be proved (for this purpose, CASS uses an ordering on arguments in recursive calls), the second transformation is used, otherwise the first one is.…”
Section: Using Termination Informationmentioning
confidence: 99%