Abstract:
Knowledge Graphs have increasingly become the preferred approach to complex problems that involve low-level business data. It
is well known that Google, LinkedIn, Facebook, Twitter – all have
a knowledge graph at their core.
In this paper, we propose: i) A knowledge graph, called FACT,
which is designed for applications in software engineering problems. ii) A novel system which can automatically populate FACT.
Example applications of FACT include verifying design decisions,
recommending software elements to reify design decisions, and so
on. Vertices of FACT represent items such as a software design concept, a concrete software element which reifies a concept. An edge
represents the relationship that may exist between the vertices.
The design of FACT as well as the system used to populate it
has been validated a) at micro-level by verifying or proving the
correctness of the individual components of FACT, and b) at macrolevel by experimentally ascertaining the correctness of scenariobased inferences derived from the knowledge contained in FACT