User support for software development technologies
Loading...
Date
2022
Authors
Journal Title
Journal ISSN
Volume Title
Publisher
Abstract
The adoption of software development technologies is very closely related to the topic
of user support. This is especially true in early phases, when the users are not familiar
with the modification or the build processes of the software that has to be developed nor
with the technology used for software development. This work introduces an approach
to improve the usability of software development technologies represented by the Combinatory
Logic Synthesizer (CL)S Framework. (CL)S is based on a type inhabitation
algorithm for the combinatory logic with intersection types and aims to automatically
create software components from a domain-specified repository. The framework yields
a complete enumeration of all inhabitants. The inhabitation results are computed in
the form of tree grammars. Unfortunately, the underlying type system allows limited
application of domain-specific knowledge. To compensate for this limit, this work provides
a framework for debugging intersection type specifications and filtering inhabitation
results using domain-specific constraints as main aspects. The aim of the debugger is
to make potentially incomplete or erroneous input specifications and decisions of the
inhabitation algorithm understandable for those who are not experts in the field of type
theory. The combination of tree grammars and graph theory forms the foundation of a
clear representation of the computed results that informs users about the search process
of the algorithm. The graphical representations are based on hypergraphs that illustrate
the inhabitation in a step-wise fashion. Within the scope of this work, three filtering algorithms
were implemented and investigated. The filtering algorithm integrated into the
framework for user support and used for the restriction of inhabitation results is practically
feasible and represents a clear improvement compared to existing approaches. It is
based on modifying the tree grammars resulting from the (CL)S Framework. Additionally,
the usability of the (CL)S Framework is supported by eight perspectives included in a
web-based integrated development environment (IDE) that provides detailed graphical
and textual information about the synthesis.
Description
Table of contents
Keywords
Tree grammar, Software synthesis, Software engineering