Mathias LandhäußerKarlsruhe Institute of Technology | KIT · Institute of Program Structures and Data Organisation (IPD)
Mathias Landhäußer
Dr. rer. nat.
About
29
Publications
9,808
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
214
Citations
Introduction
Additional affiliations
October 2010 - August 2016
Publications
Publications (29)
Natural language interfaces are becoming more and more
common but are extremely difficult to build, to maintain, and to port to
new domains. NLCI, the Natural Language Command Interpreter, is an
architecture for building and porting such interfaces quickly.
NLCI accepts commands as plain English texts and translates the input sentences into sequenc...
Autotuning is a technique for optimizing the performance of sequential and parallel applications. We explore the problem of successfully applying on-line autotuning to real-world applications. We tune PostgreSQL, an open-source database server software, by optimizing tuning parameters that affect table scans. We evaluate the effects on the performa...
Intelligent assistants are becoming widespread. A popular method for creating intelligent assistants is modeling the domain (and thus the assistant's capabilities) as Active Ontology. Adding new functionality requires extending the ontology or building new ones; as of today, this process is manual.
We describe an automated method for creating Acti...
Natural language interfaces are becoming more and more common, because they are powerful and easy to use. Examples of such interfaces are voice controlled navigation devices, Apple’s personal assistant Siri, Google Voice Search, and translation services. However, such interfaces are extremely difficult to build, to maintain, and to port to new doma...
describe a computer science lab course that teaches a scientific research methodology. Our course is based on a recent research project and augments it with a motivating goal: We program a robot based on the Lego EV3 brick with plain English. Our students developed a multi-module solution; all modules were planned, implemented, and benchmarked foll...
Intelligent assistants are ubiquitous and will grow in importance. Apple's well-known assistant Siri uses Active Ontologies to process user input and to model the provided functionalities. Supporting new features requires extending the ontologies or even building new ones. The question is no longer "How to build an intelligent assistant?" but "How...
Nominalizations in natural language requirements specifications can lead to imprecision. For example, in the phrase "transportation of pallets" it is unclear who transports the pallets from where to where and how. Guidelines for requirements specifications therefore recommend avoiding nominalizations. However, not all nominalizations are problemati...
We investigate how natural languages such as English can be used as programming languages. Often, in natural language (as well as in programming) different actions happen at the same time or are repeated. In natural language we just say what is going to happen – in programming we use control structures. Story lines without equivalent language/phras...
We present nlrpBENCH: a new platform and framework to improve software engineering research as well as teaching with focus on requirements engineering during the software engineering process. It is available on http://nlrp.ipd. kit.edu. Recent advances in natural language processing have made it possible to process textual software requirements aut...
For specifications, people use natural language. We show that processing natural language and combining this with intelligent deduction and reasoning with ontologies can possibly replace some manual processes associated with requirements engineering (RE). Our prior research shows that the software tools we developed can indeed solve problems in the...
Recent advances in natural language processing have made it possible to process textual software requirements automatically, for example checking them for flaws or translating them into software artifacts. This development is particularly fortunate, as the majority of requirements is written in unrestricted natural language.
However, many of the to...
We investigate natural language as an alternative to programming languages. Natural language would empower anyone to program with minimal training. In this paper, we solve an ordering problem that arises in natural-language programming. An emprical study showed that users do not always provide the strict sequential order of steps needed for executi...
Software engineering is supposed to be a structured process, but manual tasks leave much leeway. Ideally, these tasks lie in the hands of skilled analysts and software engineers. This includes creating the textual specification of the envisioned system as well as creating models for the software engineers. Usually, there is quite a bit of erosion d...
Everyone should be able to program. Programming in informal, but precise natural language would enable anyone to program and help eliminate the world-wide software backlog. Highly trained software engineers would still be needed for complex and demanding applications, but not for routine programming tasks.
Programming in natural language is a monum...
Textual specifications and domain models change during development and need to be kept consistent. However, in practice the cost of maintaining consistency is too high. Stakeholders need to be informed about model changes in natural language, software architects need to see the impact of specification changes on their models. Our Requirements Engin...
User Stories are short feature descriptions from the user's point of view. Functional tests ensure that the feature described by a User Story is fully implemented. We present a tool that builds an ontology for code and links completed User Stories in natural language with the related code artifacts. The ontology also contains links to API component...
Test cases are often similar. A preliminary study of eight open-source projects found that on average at least 8% of all test cases are clones; the maximum found was 42 %. The clones are not identical with their originals - identifiers of classes, methods, attributes and sometimes even order of statements and assertions differ. But the test cases r...
This paper proposes an approach which utilizes natural language processing (NLP) and ontology knowledge to automatically denote
the implicit semantics of textual requirements. Requirements documents include the syntax of natural language but not the
semantics. Semantics are usually interpreted by the human user. In earlier work Gelhausen and Tichy...
Requirements engineering is a big part of software engineering and consumes a lot of time. We propose a novel approach of automatically creating software domain models from textual requirements specifications using semantic annotation. Natural language processing (NLP) has progressed much in the last years and the usage of NLP tools for automatic a...
Assessing numerous models from students in written exams or homework is an exhausting task. We present an approach for a fair and transparent assessment of the completeness of models according to a natural language domain description. The assessment is based on checklists generated by the tool Sumo
χ. Sumo
χ directly works on an annotated version o...