Abstract
Graphs are used as a universal data structure in various domains. Sets of graphs (and likewise graph morphisms) can be specified using the graph logic of Graph Conditions (GCs). The evaluation of a graph against a GC results in a satisfaction judgement on whether the graph is specified by the GC. is as expressive as first-order logic on graphs and infinitely many graphs may be evaluated against a given GC. Therefore, a complete compact overview of how a given GC may be evaluated for varying graphs can support GC validation, testing, debugging, and repair.
As a main contribution, we generate such an overview for a given GC in the form of a complete finite set of diverse evaluations for varying associated graphs formally given by so called Evaluation Trees (ETs). Each of these ETs concretely describes how its associated graph is evaluated against the given GC by presenting each evaluation step. The returned ETs are complete since each possible ET subsumes one of the returned ETs and diverse by not containing superfluous ETs subsuming smaller ETs. We apply an implementation of our ET generation procedure in the tool to a running example.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
Type graphs and typed graphs can be understood as formalizations of UML class diagrams and UML object diagrams.
- 2.
The operation used here is a simplification of the operation presented in [23, 24], which returned symbolic models representing all graphs satisfying a given GC. Technically, we apply the operation from [23, 24], remove additional information with which the returned graphs are equipped and remove all graphs from that set for which the set contains a subgraph already.
- 3.
Note that the runtime of is usually insignificant when it is applied offline (i.e., at design time) to small hand-written GCs only (despite the need to solve the NP-hard subgraph isomorphism problem when computing the possibly exponential number of graph overlappings). If one or both of these assumptions are not satisfied in an application context, further evaluations are required to ensure a practical runtime in that setting and the property (b) from Fact 1 on partial results may become relevant.
- 4.
Intuitively, compactness means that all graph elements of the host graph G have been matched by some considered mono during the evaluation.
- 5.
Intuitively, the operations of this three-valued logic can be computed based on numerical values using the bijective homomorphism \(\langle \cdot \rangle \), which maps the elements of the base set as follows: , , and . Then, negation is translated into the multiplication with \(-1\) and disjunction is translated into taking the maximum of its arguments. E.g. because \(-1\times \mathsf {max}(0,1)=-1\).
- 6.
The operation is an adaptation of the predicate \(\models _{\mathrm {ST}}\) from [22] accommodating for the additional operator .
- 7.
The returned satisfaction judgement for is either or .
- 8.
Since is either or , this also has to hold for .
- 9.
This ES is given by the operation in [22].
- 10.
To simplify our presentation, we also employ the regular expression based specification via for existential quantification. We thereby restrict ourselves to finite sets of monos , which is guaranteed e.g. for finite host graphs. However, the used rules can easily be relaxed to handle also infinite match sets
- 11.
Steps in Fig. 2 are i.a. labeled with the satisfaction judgement for the derived ET.
- 12.
Note that for (c), there may be in general multiple ways as to why a sub-GC is not satisfied and fixing one particular reason for all matches would not allow for a set of ETs that is complete in the sense of Definition 10.
References
Ammann, P., Offutt, A.J., Huang, H.: Coverage criteria for logical expressions. In: 14th International Symposium on Software Reliability Engineering (ISSRE 2003), Denver, CO, USA, 17–20 November 2003, pp. 99–107. IEEE Computer Society (2003). https://doi.org/10.1109/ISSRE.2003.1251034
Barkowsky, M., Giese, H.: Hybrid search plan generation for generalized graph pattern matching. In: Guerra, E., Orejas, F. (eds.) ICGT 2019. LNCS, vol. 11629, pp. 212–229. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-23611-3_13
Beyhl, T., Blouin, D., Giese, H., Lambers, L.: On the operationalization of graph queries with generalized discrimination networks. In: Echahed, R., Minas, M. (eds.) ICGT 2016. LNCS, vol. 9761, pp. 170–186. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-40530-8_11
Chilenski, J.J., Miller, S.P.: Applicability of modified condition/decision coverage to software testing. Softw. Eng. J. 9(5), 193–200 (1994). https://doi.org/10.1049/sej.1994.0025
Courcelle, B.: The expression of graph properties and graph transformations in monadic second-order logic. In: Rozenberg, G. (ed.) Handbook of Graph Grammars and Computing by Graph Transformations, Volume 1: Foundations, pp. 313–400. World Scientific (1997). ISBN 9810228848
Cseppento, L., Micskei, Z.: Evaluating code-based test input generator tools. Softw. Test. Verification Reliab. 27(6) (2017). https://doi.org/10.1002/stvr.1627
Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. MTCSAES. Springer, Heidelberg (2006). https://doi.org/10.1007/3-540-31188-2
Feldt, R., Poulding, S.M., Clark, D., Yoo, S.: Test set diameter: quantifying the diversity of sets of test cases. In: 2016 IEEE International Conference on Software Testing, Verification and Validation, ICST 2016, Chicago, IL, USA, 11–15 April 2016, pp. 223–233. IEEE Computer Society (2016). ICST.2016.33
Ghahremani, S., Giese, H., Vogel, T.: Efficient utility-driven self-healing employing adaptation rules for large dynamic architectures. In: Wang, X., Stewart, C., Lei, H. (eds.) 2017 IEEE International Conference on Autonomic Computing, ICAC 2017, Columbus, OH, USA, 17–21 July 2017, pp. 59–68. IEEE Computer Society (2017). https://doi.org/10.1109/ICAC.2017.35. ISBN 978-1-5386-1762-5
Habel, A., Pennemann, K.: Correctness of high-level transformation systems relative to nested conditions. Math. Struct. Comput. Sci. 19(2), 245–296 (2009). https://doi.org/10.1017/S0960129508007202
Hochgeschwender, N., Schneider, S., Voos, H., Bruyninckx, H., Kraetzschmar, G.K.: Graph-based software knowledge: storage and semantic querying of domain models for run-time adaptation. In: 2016 IEEE International Conference on Simulation, Modeling, and Programming for Autonomous Robots, SIMPAR 2016, San Francisco, CA, USA, 13–16 December 2016, pp. 83–90. IEEE (2016). https://doi.org/10.1109/SIMPAR.2016.7862379
Jackson, D., Milicevic, A., Torlak, E., Kang, E., Near, J.: Alloy: a language & tool for relational models (2017). https://alloytools.org/. Accessed 05 July 2020
Kakita, S., Watanabe, Y., Densmore, D., Davare, A., Sangiovanni-Vincentelli, A.L.: Functional model exploration for multimedia applications via algebraic operators. In: Sixth International Conference on Application of Concurrency to System Design (ACSD 2006), 28–30 June 2006, Turku, Finland, pp. 229–238. IEEE Computer Society (2006). https://doi.org/10.1109/ACSD.2006.8
Kang, E., Jackson, E.K., Schulte, W.: An approach for effective design space exploration. In: Calinescu, R., Jackson, E. (eds.) Monterey Workshop 2010. LNCS, vol. 6662, pp. 33–54. Springer, Heidelberg (2011). https://doi.org/10.1007/978-3-642-21292-5_3
Lambers, L., Schneider, S., Weisgut, M.: Model-based testing of read only graph queries. In: 13th IEEE International Conference on Software Testing, Verification and Validation Workshops, ICSTW 2020, Porto, Portugal, 24–28 October 2020, pp. 24–34. IEEE (2020). https://doi.org/10.1109/ICSTW50294.2020.00022
Nassar, N., Kosiol, J., Kehrer, T., Taentzer, G.: Generating large EMF models efficiently. FASE 2020. LNCS, vol. 12076, pp. 224–244. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-45234-6_11
Neo4J Team. Neo4J. http://neo4j.com/
Object Management Group. Unified Modeling Language. https://www.uml.org/
OMG. Object Constraint Language (2014). http://www.omg.org/spec/OCL/
Radke, H., Arendt, T., Becker, J.S., Habel, A., Taentzer, G.: Translating essential OCL invariants to nested graph constraints focusing on set operations. In: Parisi-Presicce, F., Westfechtel, B. (eds.) ICGT 2015. LNCS, vol. 9151, pp. 155–170. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-21145-9_10
Schneider, S.: AutoGraph. https://github.com/schneider-sven/AutoGraph
Schneider, S., Lambers, L., Orejas, F.: A logic-based incremental approach to graph repair featuring delta preservation. Int. J. Softw. Tools Technol. Transf. (2020, accepted)
Schneider, S., Lambers, L., Orejas, F.: Automated reasoning for attributed graph properties. Int. J. Softw. Tools Technol. Transf. 20(6), 705–737 (2018). https://doi.org/10.1007/s10009-018-0496-3
Schneider, S., Lambers, L., Orejas, F.: Symbolic model generation for graph properties. In: Huisman, M., Rubin, J. (eds.) FASE 2017. LNCS, vol. 10202, pp. 226–243. Springer, Heidelberg (2017). https://doi.org/10.1007/978-3-662-54494-5_13
Semeráth, O., Farkas, R., Bergmann, G., Varró, D.: Diversity of graph models and graph generators in mutation testing. Int. J. Softw. Tools Technol. Transf. 22(1), 57–78 (2020). https://doi.org/10.1007/s10009-019-00530-6
Semeráth, O., Nagy, A.S., Varró, D.: A graph solver for the automated generation of consistent domain-specific models. In: Chaudron, M., Crnkovic, I., Chechik, M., Harman, M. (eds.) Proceedings of the 40th International Conference on Software Engineering, ICSE 2018, Gothenburg, Sweden, 27 May–03 June 2018, pp. 969–980. ACM (2018). https://doi.org/10.1145/3180155.3180186
Syriani, E., Bill, R., Wimmer, M.: Domain-specific model distance measures. J. Object Technol. 18(3), 3:1–3:19 (2019). https://doi.org/10.5381/jot.2019.18.3.a3
The Linked Data Benchmark Council (LDBC). Datagen. Accessed 04 May 2021
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
Cite this paper
Schneider, S., Lambers, L. (2021). Evaluation Diversity for Graph Conditions. In: Gadducci, F., Kehrer, T. (eds) Graph Transformation. ICGT 2021. Lecture Notes in Computer Science(), vol 12741. Springer, Cham. https://doi.org/10.1007/978-3-030-78946-6_7
Download citation
DOI: https://doi.org/10.1007/978-3-030-78946-6_7
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-78945-9
Online ISBN: 978-3-030-78946-6
eBook Packages: Computer ScienceComputer Science (R0)