Josef Pichler

Josef Pichler
Fachhochschule Oberösterreich | fh-ooe · School of Informatics, Communications and Media

Dr.

About

55
Publications
10,612
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
288
Citations
Additional affiliations
January 2012 - December 2014
Software Competence Center Hagenberg
Position
  • Industrial Working with Models (iWM)
January 2012 - December 2014
Software Competence Center Hagenberg
Position
  • Metamorphosis - From Legacy Code to Modern Software Systems
January 2008 - December 2011
Software Competence Center Hagenberg
Position
  • Domain Model Life-Cycle Management

Publications

Publications (55)
Article
Source code comments contain key information about the underlying software system. Many redocumentation approaches, however, cannot exploit this valuable source of information. This is mainly due to the fact that not all comments have the same goals and target audience and can therefore only be used selectively for redocumentation. Performing a req...
Article
We are interested in specifications which provide a consistent high-level view of systems. They should abstract irrelevant details and provide a precise and complete description of the behaviour of the system. This view of software specification can naturally be expressed by means of Gurevich’s Abstract State Machines (ASMs). There are many known b...
Article
Full-text available
Model-driven software development comes in different styles. While standard-based approaches leverage existing language standards (e.g., UML), tooling, and development processes, domain-specific modeling (DSM) requires languages and tool support to be created prior to the actual software development. The design, implementation, and testing of langu...
Article
Full-text available
Essential characteristics of smart factories, such as flexibility and resource efficiency, can be leveraged and improved by the power of machine learning and optimization techniques. For instance, the manufacturing process of a power transformer core constitutes a highly complex optimization problem. It involves creating a cost optimal slitting pla...
Preprint
Full-text available
Screencasts and videos with screen recordings are becoming an increasingly popular source of information for users to understand and learn about software applications. However, searching for answers to specific questions in screen videos is notoriously difficult due to the effort for locating specific events of interest and reproducing the applicat...
Chapter
In the development of electrical machines users run a batch of command line programs by providing text-based data exchange files as input. The required structure and content of these files is often only informally documented and implicitly enforced by programs. Therefore, users are forced to execute programs without prior syntactic and semantic ver...
Chapter
We are interested in specifications which provide a consistent high-level view of systems. They should abstract irrelevant details and provide a precise and complete description of the behaviour of the system. This view of software specification can naturally be expressed by means of Gurevich’s Abstract State Machines (ASMs). There are many known b...
Preprint
Full-text available
Model-driven software development comes in different styles. While standard-based approaches leverage existing language standards (e.g. UML), tooling, and even development processes, domain-specific modeling (DSM) requires domain-specific languages and tool support to be created prior to the actual software development. The design, implementation ,...
Technical Report
Full-text available
The SCCH research focus Software Analytics and Evolution (SAE) is researching methods and tools for the development and evolution of software-intensive systems that meet increasing demand for user-friendliness. Furthermore, SAE addresses software quality assurance by systematic testing (e.g., test automation, test case generation, compositional tes...
Conference Paper
Full-text available
The reuse of code fragments by copying and pasting is widely practiced in software development and results in code clones. Cloning is considered an anti-pattern as it negatively affects program correctness and increases maintenance efforts. Programmable Logic Controller (PLC) software is no exception in the code clone discussion as reuse in develop...
Preprint
Full-text available
The reuse of code fragments by copying and pasting is widely practiced in software development and results in code clones. Cloning is considered an anti-pattern as it negatively affects program correctness and increases maintenance efforts. Programmable Logic Controller (PLC) software is no exception in the code clone discussion as reuse in develop...
Conference Paper
We describe the motivation, approach and first experience from reverse engineering Common Intermediate Language (CIL) for the purpose of documentation generation. Instead of parsing source code implemented in different programming languages, we reverse engineer CIL code and thereby enable documentation generation for all programming languages that...
Conference Paper
In software development we are faced with the problem to comprehend and take over source code from other developers. The key challenge is to understand the underlying specification implemented by the software system. Regaining this understanding is more difficult when the source code is the only reliable source of information, documentation is outd...
Conference Paper
There is a widespread agreement in the scientific computing community that documentation positively influences software quality and thereby helps to mitigate the risk of project failure. We accompanied the introduction of a documentation generator within an industrial scientific computing project in order to automatically extract documentation from...
Conference Paper
Full-text available
In this work a Case-Based reasoning system for managing production processes, declarative production process definitions in particular, with main focus on analysis and maintenance is introduced whereby each process task is represented by a case. A single process task definition includes among other elements, formulas, represented by fragmental prog...
Conference Paper
Full-text available
This paper demonstrates RbG, a new tool intended for the generation of high-quality documentation from source code of scientific and engineering applications. RbG extracts mathematical formulae and decision tables from program state-ments by means of static code analysis and generates cor-responding documentation in the Open Document Format or LaTe...
Conference Paper
Full-text available
The reengineering of legacy code is a tedious endeavor. Automatic transformation of legacy code from an old technology to a new one preserves potential problems in legacy code with respect to obsolete, changed, and new business cases. On the other hand, manual analysis of legacy code without assistance of original developers is time consuming and e...
Conference Paper
Domain-specific modeling promises to close the gap between an application domain and a solution domain. As such it enables domain experts to directly model an application by means of a domain-specific language and to fully generate a final software product from the models. The advantages of domain-specific modeling have been demonstrated from sever...
Conference Paper
Full-text available
Software in technical domains contains extensive and complex computations in a highly-optimized and unstructured way. Such software systems developed and maintained over years are prone to become legacy code based on old technology and without accurate documentation. We have conducted several industrial projects to reengineer and re-document legacy...
Conference Paper
Full-text available
Technical software systems contain extensive and complex computations that are frequently implemented in an optimized and unstructured way. Computations are, therefore, hard to comprehend from source code. If no other documentation exists, it is a tedious endeavor to understand which input data impact on a particular computation and how a program d...
Conference Paper
Software programs in scientific and engineering domains typically contain complex and extensive computations that are additionally optimized concerning running time or memory requirements. As a consequence, the actual computations are often hard to comprehend from the source code only. This paper presents tool support to extract documentation from...
Conference Paper
A wiring diagram plays an important role in electrical machine design. The layout of a wiring diagram must facilitate a designer’s understanding of the schematic as well as the real electrical machine. Even though wiring diagrams are undirected graphs, standard algorithms and libraries for graph drawing are not sufficient to achieve adequate diagra...
Article
Domain-specific languages (DSL) are languages tailored to a specific problem domain. There is a common perception to distinguish between horizontal and vertical domains. Horizontal domains covering technical software areas as user interface, data base, and testing are elaborated resulting in different DSLs available today. On contrary, vertical dom...
Article
The improper mixture of domain concepts and infrastructure code in software systems is widely recognized as source for many problems concerning development and maintenance of software systems. In this paper, we present the architecture of an extensible software system that facilitates strict separation of domain concepts and technical infrastructur...
Conference Paper
The improper mixture of domain concepts and infrastructure code in software systems is widely recognized as source for many problems concerning development and maintenance of software systems. In this paper, we present the architecture of an extensible software system that facilitates strict separation of domain concepts and technical infrastructur...
Conference Paper
Domain-specific languages (DSL) are languages tailored to a specific problem domain. There is a common perception to distinguish between horizontal and vertical domains. Horizontal domains covering technical software areas as user interface, data base, and testing are elaborated resulting in different DSLs available today. On contrary, vertical dom...
Conference Paper
In this paper we present an approach and a software prototype that enables domain experts to program control software in the automation domain. The approach follows the principles of domain-specific modeling providing a graphical domain-specific language to model the control cycle of an injection molding machine, a user interface to manipulate and...
Article
Full-text available
Software engineering traditionally plays an important role among the different research directions located in the Software Park Hagenberg, as it provides the fundamental concepts, methods and tools for producing reliable and high quality software. Software engineering as a quite young profession and engineering discipline is not limited to focus on...
Article
In this paper we introduce a new approach for storing a partially persistent hierarchical data model - in particular trees - in a relational database. Several approaches exist for storing trees in relational databases as well as for storing version information for retrieving a former version of a particular node. In this paper we first discuss char...
Article
Full-text available
A domain-specific language is a specialized and problem-oriented language. Successful application of a DSL largely depends on provided tools, so called language workbenches that support end-programmers creating, editing, and maintaining programs written in a DSL. In this paper, we describe four different tools support-ing the creating of language w...
Conference Paper
In this paper we describe our experience from developing and testing a visual graphical user interface (GUI) editor for mobile and multimedia devices. Testing of the editor's highly interactive user interface is critical for its success, yet remains a challenge due to the specification of often intangible quality characteristics of the GUI and its...
Conference Paper
Software testing is essential and takes a large part of resources during software development. This motivates automating software testing as far as possible. Frameworks for automating unit testing are approved and applied for a plethora of programming languages to write tests for small units in the same programming language. Both constraints, unit...
Conference Paper
Comneon, as the software branch of Infineon Technologies, provides APOXI for development of mobile system software solutions. APOXI is a fullfledged C++-implemented application framework which provides rich functionality and a defined extension, adaptation, and customization scheme to realize mobile software solutions. Based on APOXI, mobile phone...
Article
Zahlreiche Forschungseinrichtungen haben sich in den letzten Jahren mit den Grundlagen von Softwareagenten beschäftigt.
Conference Paper
Full-text available
The use of well-designed class libraries and frameworks is a key element of object oriented software development. However, while frameworks may significantly reduce development time and cost, they are difficult to understand and therefore hard to learn to use. We present an environment that supports documenting, browsing and editing of selected asp...
Conference Paper
Full-text available
Standard C++ does not provide mechanisms for working with assertions in the spirit of design by contract (DBC) as proposed by B. Meyer (1996; 1992). We earlier developed a set of techniques and tools facilitating the prototyping of object oriented architectures based on the idea of design by contract (R. Ploesch, 1997; 1998). As it is crucial for u...
Conference Paper
Standard C++ does not provide mechanisms for working with assertions in the spirit of design by contract (DBC) as proposed by Meyer. We earlier developed a set of techniques and tools facilitating the prototyping of object-oriented architectures based on the idea of design by contract.As it is crucial for us to support evolutionary prototyping, we...
Article
Full-text available
Prozessautomatisierungssoftware ist ein typisches Beispiel für Individualsoftware, für die in der Regel große Teile für jede Anlage neu erstellt werden. Dieser Aufsatz zeigt am Beispiel des Warmwalzbereichs, wie eine entsprechende Softwarearchitektur dazu beitragen kann, die Entwicklungszeit zu verkürzen und die Kosten zu senken und dabei gleichzei...
Conference Paper
Full-text available
Reusability of software is an important prerequisite for cost and time-optimized software development. This is especially true for custom software produced for only one application; process automation software in the hot rolling mill domain is a typical example of such software. This paper presents the special requirements on software in this domai...

Network

Cited By

Projects

Projects (5)
Project
In this project, we integrate grammar mining with symbolic execution towards attribute grammar mining.
Project
Extract knowledge from software artefacts and use it for evolution and documentation of software systems. Knowledge extraction is based on different methods in reverse engineering (e.g. static, dynamic, symbolic program analysis).
Project
The goal of Probabilistic Software Modeling (PSM) is to transform software (on the level of types, properties, and executables), into generative probabilistic models. These models may be used for predictive (e.g., visualization of specific program states, anomaly detection) and generative (test-case generation, simulation of sub-systems) tasks.