<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>DL</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Testing Description Logic Reasoners (Extended Abstract)</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Tobias John</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Einar Broch Johnsen</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Eduard Kamburjan</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Dominic Steinhöfel</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>CISPA Helmholtz Center for Information Security</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>IT University of Copenhagen</institution>
          ,
          <country country="DK">Denmark</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>University of Oslo</institution>
          ,
          <country country="NO">Norway</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2025</year>
      </pub-date>
      <volume>38</volume>
      <fpage>3</fpage>
      <lpage>6</lpage>
      <abstract>
        <p>Ontologies rely on a vast ecosystem of software tools, especially the description logic reasoners. Yet, tool developers and maintainers have little support to ensure tool reliability. This extended abstract reports on two testing studies on EL reasoners, summarizing results from two approaches presented at ISSRE'24 [1], ESWC'25 [2] and preliminary results building on this work [3]. We demonstrate how recent advances in test case generation for highly structured and constrained inputs can support software developers in the semantic web field. We develop input generators for the OWL EL profile, and report on 23 bugs we found in HermiT, ELK and Pellet, as well as the EL profile checker of the OWL-API, all using automated testing.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;Software Testing</kwd>
        <kwd>Software Quality</kwd>
        <kwd>Reasoners</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>inference of all of these types of axioms, we only checked if the inferred axioms of ELK are a subset of
the axioms inferred by the other reasoners.</p>
      <p>
        Both campaigns also considered other tools, we only report on those results related to the reasoner.
The full description of the bugs can be found in the original papers [
        <xref ref-type="bibr" rid="ref1 ref2 ref3">3, 1, 2</xref>
        ].
      </p>
    </sec>
    <sec id="sec-2">
      <title>2. Language-Based Fuzzing Campaign</title>
      <p>
        Approach. In the first campaign [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ], we used language-based fuzzing and the ISLa tool [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ]:
Languagebased fuzzing uses an input grammar and generates random terms that are accepted by it, possibly
constrained by additional conditions on the term.
      </p>
      <p>
        The generator produces OWL files in functional syntax, which is defined in the specification of
the OWL EL profile [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. However, we needed to make some adjustments to the grammar. Firstly,
we restrict the grammar to use four diferent names per category: classes, individuals, simple object
properties, potentially non-simple object properties, data properties, predefined data types, custom
data types, language tags, strings, annotation properties and annotation values, respectively. This
ensures that the names are used multiple times in the ontology. Secondly, the grammar is modified to
encode some of the constraints on the EL profile that are not contained in the original grammar, e.g.,
the restrictions on complex roles. We do not encode all of the constraints, namely that cyclic definitions
of properties are forbidden and the global restrictions on the EL profile [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. Thus, we also generated test
cases that are not in OWL EL, which the OWL-API profile checker and ELK are expected to reject.
Results. The main test run was performed for 10 hours, producing and evaluating 1,557 test cases.
Out of those, 516 test cases contain at least one anomaly. The test cases are manually classified and we
examined at least one test case in each class.
      </p>
      <p>Some classes turn out to not be bugs of the reasoners but rather mirror specific reasoning limitations
of the reasoners. We do not examine unclassified anomalies with very diferent behavior of the tools
as this indicates the occurrence of several anomalies at the same time, which we already examine
individually in other classes. While investigating the anomalies, the input files are simplified, i.e. axioms
and parts of axioms that do not afect the result are removed. Classes, individuals and properties are
renamed to make the files easier to understand. This last step also revealed one bug.</p>
      <p>Overall, this testing methodology revealed 14 previously unknown bugs in the reasoners and 1 related
bug in the OWL-API. Table 1 provides an overview of these bugs. We found bugs in all systems that
we tested. We reported the bugs in the repositories of the tested tools, except for HermiT where no
bug tracker is publicly available. The detailed reports for those bugs (as well as all other bugs) can be
found in the supplementary material of the original publication [23]. One interesting observation is that
most of the found bugs are logical bugs, i.e. bugs that do not lead to any exception or warning but the
computed result is incorrect. Logical bugs are particularly important to find, as there is no indication of
their presence for users of the tools. To illustrate the kinds of bugs we found, we discuss a few diferent
classes of bugs using examples.</p>
      <p>Parsing. The OWL EL profile allows language tags, but the OWL-API parser combines strings and
attached language tags to object of type rdfs:langString. The EL-profile checker of the OWL-API
subsequently rejects the ontology because this data type is forbidden, efectively forbidding the use of
language tags.</p>
      <p>Consistency. Four bugs are cases where the consistency of the ontology is not correctly assessed.
We found three such bugs in Pellet/Openllet and one in ELK. The latter (E1 in Table 1) is shown in
Figure 1. The ontology is wrongly classified as inconsistent by ELK: ELK treats the two strings "s1"@fr
and "s1"@en as the same entity, even though they must be treated as diferent literals. This leads to the
incorrect inference that :B is an empty class and, due to the class assertion ClassAssertion(:B :a), that
the ontology is inconsistent.</p>
      <p>Missing owl:Thing class assertion of decl. individ. when no class is declared
Warning about malformed input missing and computed result has SI issue
Functionality of property missing when property range is a singleton
Incorrect sub-object-property relation caused by unrelated subclass axiom
Data-property assertion missing when singleton in equivalent-classes axiom
Exception when using only rdfs:Literal in data-type intersection
Forbidden data type is wrongly detected because of incorrect parsing of
string with language tag as rdfs:langString
Too few arguments are detected because argument-list is interpreted as set</p>
      <p>Defining new data type is incorrectly marked as violation (only use forbidden)
Prefix(:=&lt;http://www.example.org/reasonerTester#&gt;)
Ontology (</p>
      <p>Declaration(Class(:B)) Declaration(Class(:A))
Declaration(DataProperty(:dr)) Declaration(NamedIndividual(:a))
EquivalentClasses( DataHasValue(:dr "s1"@fr) :A :B )
DisjointClasses( DataHasValue(:dr "s1"@en) :A )</p>
      <p>ClassAssertion(:B :a))
Soundness of Inference. Five of the bugs are cases where the reasoners infer axioms that are not
entailed by the ontology. These bugs were found in HermiT and Pellet/Openllet. For one such bug
(O4), the ontology contains only one axiom EquivalentClasses(ObjectHasSelf(:qsim) ObjectOneOf(:d) :C))
and declares an individual :a that is not mentioned in the axiom. Nevertheless, it is inferred that the
axiom ClassAssertion(:C :a) is entailed by the ontology. Interestingly, changing the name of the declared
class, the individuals or the properties leads to a correct inference, i.e., the bug disappears. We see this
puzzling behavior of Pellet/Openllet for several diferent inputs.</p>
      <p>Completeness of Inference. Three of the bugs are cases where the reasoners do not infer an axiom.
All these bugs were found in HermiT. Figure 2 illustrates H5. The ontology defines a data property :dp
and an individual :a. Furthermore, two classes are the same: (i) the class containing only the individual
:a and (ii) the class of individuals occurring as the subject in an assertion with the data property :dp and
the object "data". One can therefore infer the assertion DataPropertyAssertion(:dp :a "data") from the
ontology. However, HermiT does not infer the axiom when asked to compute all inferred assertions.</p>
      <p>Exception when reasoner is initiated if ontology contains the axiom ⊥ ⊑ ⊤</p>
    </sec>
    <sec id="sec-3">
      <title>3. Mutation-based Campaign</title>
      <p>
        Approach. In the second campaign [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], we used mutation-based fuzzing. Mutation-based fuzzing
uses seed inputs and generates random terms by applying mutation operators (such as removing, adding
or exchanging a subterm) on the seed repeatedly.
      </p>
      <p>
        To get representative ontologies as seeds, we collected ontologies from the latest OWL Reasoner
Competition [24]. We selected all ontologies in the EL-profile and then filtered to only use the ontologies
that are smaller than 1MB in file size. This resulted in 307 ontologies that we used as seeds. Again, we
performed a test run for 10h, during which we generated 1991 test cases, of which 502 test runs resulted
in the occurrence of an anomaly. The used mutation operators are selected such that they address all
allowed features of the EL-profile. The full list of all 55 used mutation operators can be found in the
original publication [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. They target the TBox as well as the ABox. The used tool is available under
https://github.com/smolang/RDFMutate [25].
      </p>
      <p>Results. We found 6 previously unknown bugs in the OWL EL reasoners that we tested. One of the
bugs (P1) only occurs non-deterministically, i.e., not every time the reasoner is called with the test input.
Such bugs are particularly hard to describe. Two of the bugs are completeness bugs, i.e., the reasoner
misses a subclass relation that should be contained in the class hierarchy. These bugs are especially
important to find as there is no warning for the user that the computed result of the tool is incorrect.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Conclusion</title>
      <p>Software reliability, or software quality in general, is an underestimated and underappreciated factor
when it comes to ontologies, yet reliability is critical for the acceptance of this technology. The reported
work shows that automated testing can be applied to DL-reasoners and, subsequently, should be applied
in the future. In particular, it demonstrates that language-based tools for input generation have reached
a stage where they can be set up for OWL with little efort. For future work, it remains to investigate
further testing techniques, in particular gray-box fuzzing [26] and other approaches that are building on
coverage to estimate how much of the program or input space has been already tested. It also remains
to investigate why language-based fuzzing was more efective than mutation-based fuzzing.</p>
    </sec>
    <sec id="sec-5">
      <title>Declaration on Generative AI</title>
      <p>The author(s) have not employed any Generative AI tools.
[23] T. John, E. B. Johnsen, E. Kamburjan, D. Steinhöfel, Supplementary material for paper
"Languagebased testing for knowledge graphs", Zenodo, 2025. doi:10.5281/zenodo.14512591.
[24] B. Parsia, N. Matentzoglu, R. S. Gonçalves, B. Glimm, A. Steigmiller, The OWL reasoner
evaluation (ORE) 2015 competition report, J. Autom. Reason. 59 (2017) 455–482. doi:10.1007/
S10817-017-9406-8.
[25] T. John, E. B. Johnsen, E. Kamburjan, RDFMutate: Mutation-based generation of knowledge
graphs, in: ISWC, 2025. Accepted for publication.
[26] M. Böhme, V. Pham, M. Nguyen, A. Roychoudhury, Directed greybox fuzzing, in: CCS, ACM,
2017, pp. 2329–2344. doi:10.1145/3133956.3134020.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>T.</given-names>
            <surname>John</surname>
          </string-name>
          , E. B.
          <string-name>
            <surname>Johnsen</surname>
          </string-name>
          , E. Kamburjan,
          <article-title>Mutation-based integration testing of knowledge graph applications</article-title>
          , in: ISSRE, ACM,
          <year>2024</year>
          , pp.
          <fpage>475</fpage>
          -
          <lpage>486</lpage>
          . doi:
          <volume>10</volume>
          .1109/ISSRE62328.
          <year>2024</year>
          .
          <volume>00052</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>T.</given-names>
            <surname>John</surname>
          </string-name>
          , E. B.
          <string-name>
            <surname>Johnsen</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          <string-name>
            <surname>Kamburjan</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          <string-name>
            <surname>Steinhöfel</surname>
          </string-name>
          ,
          <article-title>Language-based testing for knowledge graphs</article-title>
          ,
          <source>in: ESWC</source>
          , volume
          <volume>15719</volume>
          of Lecture Notes in Computer Science, Springer,
          <year>2025</year>
          . doi:
          <volume>10</volume>
          .1007/ 978-3-
          <fpage>031</fpage>
          -94578-6\_2.
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>T.</given-names>
            <surname>John</surname>
          </string-name>
          , E. B.
          <string-name>
            <surname>Johnsen</surname>
          </string-name>
          , E. Kamburjan,
          <article-title>Mutation-based testing of knowledge graph applications</article-title>
          ,
          <year>2025</year>
          . Under submission.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>C.</given-names>
            <surname>Gutierrez</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J. F.</given-names>
            <surname>Sequeda</surname>
          </string-name>
          , Knowledge graphs,
          <source>Commun. ACM</source>
          <volume>64</volume>
          (
          <year>2021</year>
          )
          <fpage>96</fpage>
          -
          <lpage>104</lpage>
          . doi:
          <volume>10</volume>
          .1145/ 3418294.
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>D.</given-names>
            <surname>Vrandecic</surname>
          </string-name>
          ,
          <article-title>Ontology evaluation</article-title>
          , in: Handbook on Ontologies,
          <source>International Handbooks on Information Systems</source>
          , Springer,
          <year>2009</year>
          , pp.
          <fpage>293</fpage>
          -
          <lpage>313</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>540</fpage>
          -92673-3\_
          <fpage>13</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>B.</given-names>
            <surname>Xue</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Zou</surname>
          </string-name>
          ,
          <article-title>Knowledge graph quality management: A comprehensive survey</article-title>
          ,
          <source>IEEE Trans. Knowl. Data Eng</source>
          .
          <volume>35</volume>
          (
          <year>2023</year>
          )
          <fpage>4969</fpage>
          -
          <lpage>4988</lpage>
          . doi:
          <volume>10</volume>
          .1109/TKDE.
          <year>2022</year>
          .
          <volume>3150080</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>K.</given-names>
            <surname>Sun</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y. E.</given-names>
            <surname>Xu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Zha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Liu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X. L.</given-names>
            <surname>Dong</surname>
          </string-name>
          , Head-to-tail:
          <article-title>How knowledgeable are large language models (LLMs)? A.K.A. will LLMs replace knowledge graphs?, in: Conference of the North American Chapter of the Association for Computational Linguistics NAACL-HLT, Association for Computational Linguistics</article-title>
          ,
          <year>2024</year>
          , pp.
          <fpage>311</fpage>
          -
          <lpage>325</lpage>
          . doi:
          <volume>10</volume>
          .18653/V1/
          <year>2024</year>
          .
          <article-title>NAACL-LONG</article-title>
          .
          <year>18</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>X. L.</given-names>
            <surname>Dong</surname>
          </string-name>
          ,
          <article-title>Generations of knowledge graphs: The crazy ideas and the business impact</article-title>
          ,
          <source>Proc. VLDB Endow</source>
          .
          <volume>16</volume>
          (
          <year>2023</year>
          )
          <fpage>4130</fpage>
          -
          <lpage>4137</lpage>
          . doi:
          <volume>10</volume>
          .14778/3611540.3611636.
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>R.</given-names>
            <surname>Brummayer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Biere</surname>
          </string-name>
          ,
          <article-title>Fuzzing and delta-debugging SMT solvers</article-title>
          , in: SMT,
          <year>2009</year>
          , pp.
          <fpage>1</fpage>
          -
          <lpage>5</lpage>
          . doi:
          <volume>10</volume>
          .1145/1670412.1670413.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>D.</given-names>
            <surname>Winterer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Su</surname>
          </string-name>
          ,
          <article-title>Validating SMT solvers for correctness and performance via grammar-based enumeration</article-title>
          ,
          <source>Proc. ACM Program. Lang</source>
          .
          <volume>8</volume>
          (
          <year>2024</year>
          )
          <fpage>2378</fpage>
          -
          <lpage>2401</lpage>
          . doi:
          <volume>10</volume>
          .1145/3689795.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>M. N.</given-names>
            <surname>Mansur</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Christakis</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            <surname>Wüstholz</surname>
          </string-name>
          ,
          <string-name>
            <surname>F. Zhang,</surname>
          </string-name>
          <article-title>Detecting critical bugs in SMT solvers using blackbox mutational fuzzing</article-title>
          , in: ESEC/FSE, ACM,
          <year>2020</year>
          , pp.
          <fpage>701</fpage>
          -
          <lpage>712</lpage>
          . doi:
          <volume>10</volume>
          .1145/3368089. 3409763.
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>D.</given-names>
            <surname>Winterer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Su</surname>
          </string-name>
          ,
          <article-title>Validating SMT solvers via semantic fusion</article-title>
          ,
          <source>in: International Conference on Programming Language Design and Implementation PLDI</source>
          , ACM,
          <year>2020</year>
          , pp.
          <fpage>718</fpage>
          -
          <lpage>730</lpage>
          . doi:
          <volume>10</volume>
          .1145/3385412.3385985.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>B.</given-names>
            <surname>Glimm</surname>
          </string-name>
          ,
          <string-name>
            <given-names>I.</given-names>
            <surname>Horrocks</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Motik</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            <surname>Stoilos</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Wang</surname>
          </string-name>
          ,
          <source>HermiT: An OWL 2 reasoner, J. Autom. Reason</source>
          .
          <volume>53</volume>
          (
          <year>2014</year>
          )
          <fpage>245</fpage>
          -
          <lpage>269</lpage>
          . doi:
          <volume>10</volume>
          .1007/S10817-014-9305-1.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>E.</given-names>
            <surname>Sirin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Parsia</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. C.</given-names>
            <surname>Grau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Kalyanpur</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Y.</given-names>
            <surname>Katz</surname>
          </string-name>
          ,
          <article-title>Pellet: A practical OWL-DL reasoner</article-title>
          ,
          <source>J. Web Semant</source>
          .
          <volume>5</volume>
          (
          <year>2007</year>
          )
          <fpage>51</fpage>
          -
          <lpage>53007</lpage>
          . doi:
          <volume>10</volume>
          .1016/J.WEBSEM.
          <year>2007</year>
          .
          <volume>03</volume>
          .004.
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Kazakov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Krötzsch</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Simancik</surname>
          </string-name>
          ,
          <article-title>The incredible ELK - from polynomial procedures to eficient reasoning with EL ontologies</article-title>
          ,
          <source>J. Autom. Reason</source>
          .
          <volume>53</volume>
          (
          <year>2014</year>
          )
          <fpage>1</fpage>
          -
          <lpage>61</lpage>
          . doi:
          <volume>10</volume>
          .1007/S10817-013-9296-3.
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>M. A.</given-names>
            <surname>Musen</surname>
          </string-name>
          ,
          <article-title>The Protégé project: A look back and a look forward</article-title>
          ,
          <source>AI</source>
          Matters
          <volume>1</volume>
          (
          <year>2015</year>
          )
          <fpage>4</fpage>
          -
          <lpage>12</lpage>
          . doi:
          <volume>10</volume>
          .1145/2757001.2757003.
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>D. R.</given-names>
            <surname>Slutz</surname>
          </string-name>
          ,
          <article-title>Massive stochastic testing of SQL</article-title>
          , in: International
          <source>Conference on Very Large Data Bases (VLDB)</source>
          , volume
          <volume>98</volume>
          , ACM,
          <year>1998</year>
          , pp.
          <fpage>618</fpage>
          -
          <lpage>622</lpage>
          . URL: http://www.vldb.org/conf/1998/p618.pdf.
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>D.</given-names>
            <surname>Steinhöfel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Zeller</surname>
          </string-name>
          ,
          <article-title>Input invariants</article-title>
          , in: ESEC/FSE, ACM,
          <year>2022</year>
          , pp.
          <fpage>583</fpage>
          -
          <lpage>594</lpage>
          . doi:
          <volume>10</volume>
          .1145/ 3540250.3549139.
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>I.</given-names>
            <surname>Horrocks</surname>
          </string-name>
          ,
          <string-name>
            <given-names>Z.</given-names>
            <surname>Wu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B. C.</given-names>
            <surname>Grau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Fokoue</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Motik</surname>
          </string-name>
          , OWL 2
          <string-name>
            <given-names>Web</given-names>
            <surname>Ontology Language Proifles (Second Edition</surname>
          </string-name>
          ),
          <source>W3C Recommendation, W3C</source>
          ,
          <year>2012</year>
          . URL: https://www.w3.org/TR/2012/ REC-owl2
          <string-name>
            <surname>-</surname>
          </string-name>
          profiles-20121211.
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <article-title>Openllet development team</article-title>
          , Openllet, issue tracker,
          <year>2024</year>
          . URL: https://github.com/Galigator/ openllet/issues.
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <article-title>ELK development team, ELK reasoner</article-title>
          , issue tracker,
          <year>2024</year>
          . URL: https://github.com/liveontologies/ elk-reasoner/issues.
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <article-title>OWL-API development team, OWL-API, issue tracker</article-title>
          ,
          <year>2024</year>
          . URL: https://github.com/owlcs/owlapi/ issues.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>