Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Walter F. Tichy is active.

Publication


Featured researches published by Walter F. Tichy.


Software - Practice and Experience | 1985

RCS—a system for version control

Walter F. Tichy

An important problem in program development and maintenance is version control, i.e. the task of keeping a software system consisting of many versions and configurations well organized. The Revision Control System (RCS) is a software tool that assists with that task. RCS manages revisions of text documents, in particular source programs, documentation, and test data. It automates the storing, retrieval, logging and identification of revisions, and it provides selection mechanisms for composing configurations. This paper introduces basic version control concepts and discusses the practice of version control using RCS. For conserving space, RCS stores deltas, i.e. differences between successive revisions. Several delta storage methods are discussed. Usage statistics show that RCSs delta method is space and time efficient. The paper concludes with a detailed survey of version control tools.


IEEE Computer | 1998

Should computer scientists experiment more

Walter F. Tichy

Computer scientists and practitioners defend their lack of experimentation with a wide range of arguments. Some arguments suggest that experimentation is inappropriate, too difficult, useless, and even harmful. This article discusses several such arguments to illustrate the importance of experimentation for computer science. It considers how the software industry is beginning to value experiments, because results may give a company a three- to five-year lead over the competition.


Journal of Systems and Software | 1995

Experimental evaluation in computer science: a quantitative study

Walter F. Tichy; Paul Lukowicz; Lutz Prechelt; Ernst A. Heinz

A survey of 400 recent research articles suggests that computer scientists publish relatively few papers with experimentally validated results. The survey includes complete volumes of several refereed computer science journals, a conference, and 50 titles drawn at random from all articles published by ACM in 1993. The journals of Optical Engineering (OE) and Neural Computation (NC) were used for comparison. Of the papers in the random sample that would require experimental validation, 40% have none at all. In journals related to software engineering, this fraction is 50%. In comparison, the fraction of papers lacking quantitative evaluation in OE and NC is only 15% and 12%, respectively. Conversely, the fraction of papers that devote one fifth or more of their space to experimental validation is almost 70% for OE and NC, while it is a mere 30% for the computer science (CS) random sample and 20% for software engineering. The low ratio of validated results appears to be a serious weakness in computer science research. This weakness should be rectified for the long-term health of the field. The fundamental principle of science, the definition almost, is this: the sole test of the validity of any idea is experiment. —Richard P. Feynman. Beware of bugs in the above code; I have only proved it correct, not tried it. —Donald E. Knuth


ACM Transactions on Computer Systems | 1984

The string-to-string correction problem with block moves

Walter F. Tichy

The string-to-string correction problem is to find a minimal sequence of edit operations for changing a given string into another given string. Extant algorithms compute a longest common subsequence (LCS) of the two strings and then regard the characters not included in the LCS as the differences. However, an LCS does not necessarily include all possible matches, and therefore does not produce the shortest edit sequence. An algorithm that produces the shortest edit sequence transforming one string into another is presented. The algorithm is optimal in the sense that it generates a minimal covering set of common substrings of one string with respect to another. Two improvements of the basic algorithm are developed. The first improvement performs well on strings with few replicated symbols. The second improvement runs in time and space linear to the size of the input. Efficient algorithms for regenerating a string from an edit sequence are also presented.


IEEE Transactions on Software Engineering | 2001

A controlled experiment in maintenance: comparing design patterns to simpler solutions

Lutz Prechelt; Barbara Unger; Walter F. Tichy; Peter Brössler; Lawrence G. Votta

Software design patterns package proven solutions to recurring design problems in a form that simplifies reuse. We are seeking empirical evidence whether using design patterns is beneficial. In particular, one may prefer using a design pattern even if the actual design problem is simpler than that solved by the pattern, i.e., if not all of the functionality offered by the pattern is actually required. Our experiment investigates software maintenance scenarios that employ various design patterns and compares designs with patterns to simpler alternatives. The subjects were professional software engineers. In most of our nine maintenance tasks, we found positive effects from using a design pattern: either its inherent additional flexibility was achieved without requiring more maintenance time or maintenance time was reduced compared to the simpler alternative. In a few cases, we found negative effects: the alternative solution was less error-prone or required less maintenance time. Overall, we conclude that, unless there is a clear reason to prefer the simpler solution, it is probably wise to choose the flexibility provided by the design pattern because unexpected new requirements often appear. We identify several questions for future empirical research.


Empirical Software Engineering | 2000

Hints for Reviewing Empirical Work in Software Engineering

Walter F. Tichy

Papers about empirical work in software engineering are still somewhat of a novelty and reviewers, especially those inexperienced with empirical work themselves, are often unsure whether a paper is good enough for publication. Conservative reviewers tend to err on the side of rejection, i.e., may sometimes reject a paper that, though not perfect, would advance our understanding or the empirical methods used. These hints are meant to help with judging empirical work and reduce some of the angst associated with accepting empirical papers.


ACM Transactions on Software Engineering and Methodology | 1998

Delta algorithms: an empirical analysis

James J. Hunt; Kiem-Phong Vo; Walter F. Tichy

Delta algorithms compress data by encoding one file in terms of another. This type of compression is useful in a number of situations: strong multiple versions of data, displaying differences, merging changes, distributing updates, storing backups, transmitting video sequences, and others. This article studies the performance parameters of several delta algorithms, using a benchmark of over 1,300 pairs of files taken from two successive releases of GNU software. Results indicate that modern delta compression algorithms based on Ziv-Lempel techniques significantly outperform diff, a popular but older delta compressor, in terms of compression ratio. The modern compressors also correlate better with the actual difference between files without sacrificing performance.


international conference on software engineering | 2001

Case study: extreme programming in a university environment

Matthias M. Müller; Walter F. Tichy

Extreme programming (XP) is a new and controversial software process for small teams. A practical training course at the University of Karlsruhe led to the following observations about the key practices of XP. First, it is unclear how to reap the potential benefits of pair programming, although pair programming produces high-quality code. Second, designing in small increments appears to be problematic but ensures rapid feedback about the code. Third, while automated testing is helpful, writing test cases before coding is a challenge. Last, it is difficult to implement XP without coaching. This paper also provides some guidelines for those starting out with XP.


IEEE Transactions on Software Engineering | 2002

Two controlled experiments assessing the usefulness of design pattern documentation in program maintenance

Lutz Prechelt; Barbara Unger-Lamprecht; Michael Philippsen; Walter F. Tichy

Using design patterns is claimed to improve programmer productivity and software quality. Such improvements may manifest both at construction time (in faster and better program design) and at maintenance time (in faster and more accurate program comprehension). The paper focuses on the maintenance context and reports on experimental tests of the following question: does it help the maintainer if the design patterns in the program code are documented explicitly (using source code comments) compared to a well-commented program without explicit reference to design patterns? Subjects performed maintenance tasks on two programs ranging from 360 to 560 LOC including comments. The experiments tested whether pattern comment lines (PCL) help during maintenance if patterns are relevant and sufficient program comments are already present. This question is a challenge for the experimental methodology: A setup leading to relevant results is quite difficult to find. We discuss these issues in detail and suggest a general approach to such situations. A conservative analysis of the results supports the hypothesis that pattern-relevant maintenance tasks were completed faster or with fewer errors if redundant design pattern information was provided. The article provides the first controlled experiment results on design pattern usage and it presents a solution approach to an important class of experiment design problems for experiments regarding documentation.


ACM Transactions on Software Engineering and Methodology | 2005

Impact of software engineering research on the practice of software configuration management

Jacky Estublier; David Leblang; André van der Hoek; Reidar Conradi; Geoffrey Clemm; Walter F. Tichy; Darcy Wiborg-Weber

Software Configuration Management (SCM) is an important discipline in professional software development and maintenance. The importance of SCM has increased as programs have become larger, more long lasting, and more mission and life critical. This article discusses the evolution of SCM technology from the early days of software development to the present, with a particular emphasis on the impact that university and industrial research has had along the way. Based on an analysis of the publication history and evolution in functionality of the available SCM systems, we trace the critical ideas in the field from their early inception to their eventual maturation in commercially and freely available SCM systems. In doing so, this article creates a detailed record of the critical value of SCM research and illustrates how research results have shaped the functionality of todays SCM systems.

Collaboration


Dive into the Walter F. Tichy's collaboration.

Top Co-Authors

Avatar

Thomas M. Warschko

Karlsruhe Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Michael Philippsen

University of Erlangen-Nuremberg

View shared research outputs
Top Co-Authors

Avatar

Victor Pankratius

Karlsruhe Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Joachim M. Blum

Karlsruhe Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Lutz Prechelt

Carnegie Mellon University

View shared research outputs
Top Co-Authors

Avatar

Christian G. Herter

Karlsruhe Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Paul Lukowicz

Karlsruhe Institute of Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Frank Padberg

Karlsruhe Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

James J. Hunt

Karlsruhe Institute of Technology

View shared research outputs
Researchain Logo
Decentralizing Knowledge