VLDB 2026 Research / reviewers in the wild / expert
Walter F. Tichy
dblp:t/WalterFTichy
· DBLP profile ↗
70ranked-venue papers
12as first author
2since 2021 · last 2023
0000-0002-1288-454XORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 44 · 11 first-author · 1 since 2021Systems, architecture and hardware · 22 · 1 first-authorArtificial intelligence and machine learning · 4Computer networks · 1Databases, data management, data science and information retrieval · 1Graphics, computer vision, multimedia, augmented reality and games · 1 · 1 since 2021Applied, interdisciplinary, general and emerging computing · 1
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
21 papers |
Empirical software engineering · 29% Program synthesis and code generation · 25% Requirements engineering and software design · 14% | |
| Computer graphics and multimedia
1 paper |
Rendering · 87% Geometric modeling and processing · 13% | |
| Computer architecture, parallel and distributed computing, and storage systems
5 papers |
Parallel and multicore computing · 66% Processor architecture and microarchitecture · 20% Storage systems · 10% | |
| Human-computer interaction and pervasive computing
1 paper |
Interaction techniques and input · 100% |
Topics — the 30 heaviest of 63, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Rendering › ray tracing
acceleration structure |
0.7 | 1 | 2023 | Analysis of Acceleration Structure Parameters and Hybrid Autotuning for Ray Tracing · IEEE Trans. Vis. Comput. Graph. 2023 |
Rendering
ray tracing |
0.7 | 1 | 2023 | Analysis of Acceleration Structure Parameters and Hybrid Autotuning for Ray Tracing · IEEE Trans. Vis. Comput. Graph. 2023 |
Program synthesis and code generation
code generation from natural language |
0.4 | 1 | 2020 | Programming in Natural Language with fuSE: Synthesizing Methods from Spoken Utterances Using Deep Natural Language Understanding · ACL 2020 |
Empirical software engineering
end-user programming |
0.4 | 1 | 2020 | Programming in Natural Language with fuSE: Synthesizing Methods from Spoken Utterances Using Deep Natural Language Understanding · ACL 2020 |
Interaction techniques and input
voice interaction |
0.2 | 1 | 2015 | Poster: ProNat: An Agent-Based System Design for Programming in Spoken Natural Language · ICSE (2) 2015 |
Program synthesis and code generation
natural language programming |
0.2 | 1 | 2015 | Poster: ProNat: An Agent-Based System Design for Programming in Spoken Natural Language · ICSE (2) 2015 |
Parallel and multicore computing
parallel programming models |
0.2 | 2 | 2010 | Engineering parallel applications with tunable architectures · ICSE (1) 2010 Multicore software engineering: the next challenge in software engineering · ICSE (2) 2010 |
Geometric modeling and processing › spatial data structures
k-d tree |
0.2 | 1 | 2023 | Analysis of Acceleration Structure Parameters and Hybrid Autotuning for Ray Tracing · IEEE Trans. Vis. Comput. Graph. 2023 |
Concurrent programming › concurrency bug detection
data race detection |
0.2 | 1 | 2014 | Library-Independent Data Race Detection · IEEE Trans. Parallel Distributed Syst. 2014 |
Program analysis
dynamic analysis |
0.2 | 1 | 2014 | Library-Independent Data Race Detection · IEEE Trans. Parallel Distributed Syst. 2014 |
Requirements engineering and software design
software architecture |
0.1 | 2 | 2010 | Engineering parallel applications with tunable architectures · ICSE (1) 2010 Software Development Based on Module Interconnection · ICSE 1979 |
Requirements engineering and software design › software architecture › architecture description
architecture description language |
0.1 | 1 | 2010 | Engineering parallel applications with tunable architectures · ICSE (1) 2010 |
Processor architecture and microarchitecture
adaptive architecture |
0.1 | 1 | 2010 | Engineering parallel applications with tunable architectures · ICSE (1) 2010 |
Parallel and multicore computing › parallel computing › parallel software engineering
multicore software engineering |
0.1 | 1 | 2010 | Multicore software engineering: the next challenge in software engineering · ICSE (2) 2010 |
Empirical software engineering
controlled experiment |
0.1 | 4 | 2003 | Two Controlled Experiments Assessing the Usefulness of Design Pattern Documentation in Program Maintenance · IEEE Trans. Software Eng. 2002 A Controlled Experiment in Maintenance Comparing Design Patterns to Simpler Solutions · IEEE Trans. Software Eng. 2001 A Controlled Experiment to Assess the Benefits of Procedure Argument Type Checking · IEEE Trans. Software Eng. 1998 |
Software maintenance and evolution
software configuration management |
0.1 | 2 | 2005 | Impact of software engineering research on the practice of software configuration management · ACM Trans. Softw. Eng. Methodol. 2005 Impact of the research community for the field of software configuration management · ICSE 2002 |
Requirements engineering and software design
software process |
0.1 | 2 | 2004 | Agile Development: Evaluation and Experience · ICSE 2004 Case Study: Extreme Programming in a University Environment · ICSE 2001 |
Empirical software engineering
agile software development |
0.0 | 1 | 2004 | Agile Development: Evaluation and Experience · ICSE 2004 |
Empirical software engineering
experimental methodology |
0.0 | 1 | 2003 | Comments on "Formal Methods Application: An Empirical Tale of Software Development" · IEEE Trans. Software Eng. 2003 |
Empirical software engineering
software engineering research methodology |
0.0 | 1 | 2003 | Comments on "Formal Methods Application: An Empirical Tale of Software Development" · IEEE Trans. Software Eng. 2003 |
Requirements engineering and software design › design patterns
design pattern specification |
0.0 | 1 | 2002 | Two Controlled Experiments Assessing the Usefulness of Design Pattern Documentation in Program Maintenance · IEEE Trans. Software Eng. 2002 |
Software maintenance and evolution
program comprehension |
0.0 | 1 | 2002 | Two Controlled Experiments Assessing the Usefulness of Design Pattern Documentation in Program Maintenance · IEEE Trans. Software Eng. 2002 |
Parallel and multicore computing › many-core systems
many-core computing |
0.0 | 1 | 2010 | Multicore software engineering: the next challenge in software engineering · ICSE (2) 2010 |
Empirical software engineering › agile software development
extreme programming |
0.0 | 1 | 2001 | Case Study: Extreme Programming in a University Environment · ICSE 2001 |
Program analysis
program comparison |
0.0 | 1 | 2000 | Renaming Detection · ASE 2000 |
Software maintenance and evolution
software evolution |
0.0 | 1 | 2000 | Renaming Detection · ASE 2000 |
Software maintenance and evolution
software maintenance |
0.0 | 1 | 2000 | Renaming Detection · ASE 2000 |
Compilers and program optimization › incremental compilation
smart recompilation |
0.0 | 4 | 1994 | The Cost of Selective Recompilation and Environment Processing · ACM Trans. Softw. Eng. Methodol. 1994 Tichy's Response to R. W. Schwanke and G. E. Kaiser's "Smarter Recompilation" · ACM Trans. Program. Lang. Syst. 1988 Smart Recompilation · ACM Trans. Program. Lang. Syst. 1986 |
Software testing
test-driven development |
0.0 | 2 | 2004 | Agile Development: Evaluation and Experience · ICSE 2004 Case Study: Extreme Programming in a University Environment · ICSE 2001 |
Program analysis
static analysis |
0.0 | 1 | 1998 | A Controlled Experiment to Assess the Benefits of Procedure Argument Type Checking · IEEE Trans. Software Eng. 1998 |
Methods — techniques the papers use, named apart from their topics
model-based prediction · 0.7autotuning · 0.7natural language understanding · 0.4agent-based architecture · 0.4knowledge-based methods · 0.4information retrieval · 0.4BiLSTM · 0.4BERT · 0.4parallel patterns · 0.2auto-tuning · 0.2dynamic synchronization detection · 0.2code pattern analysis · 0.2compile-time checking · 0.1code generation · 0.1ziv-lempel compression · 0.0diff · 0.0simulation · 0.0markov chain modeling · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2023 | Analysis of Acceleration Structure Parameters and Hybrid Autotuning for Ray TracingabstractFinding optimal parameters for acceleration structures for raytracing is key to improved performance. Previous research has shown that a speedup of over 10% of rendering time is possible. Some parameters are interdependent which complicates the process of finding an optimal configuration. It is hence interesting to find them efficiently. Autotuning is an automatic optimization scheme able to search for optimal configurations and has been applied successfully to kD-trees in the past, which we apply today on BVHs. The more parameters to optimize, the more difficult it is to find optimal solutions. In this article, we analyze in detail the behavior of the parameters and their impact on acceleration structure building and rendering time. We show the interdependence and context sensitivity (i.e., scene, viewpoint) of the parameters. Based on the use case, this allows to target only crucial parameters. Convergence speed towards an optimal configuration is essential. To find better parameters, the autotuner needs to build the acceleration structure over and over, changing parameters every time. We introduce a hybrid model-based prediction and online autotuning method to address this issue. The prediction model allows for both instantaneous near-optimal configurations when inputs are known or similar, and efficient search of the configuration space when inputs are completely new. Online autotuning outperforms configurations recommended in literature by up to 11% median. The prediction model achieves 95% of the maximum speedup of the autotuner while reducing 90% of its overhead. Thus, hybrid online autonuning enables always-on tuning in ray tracing. Killian Herveau, Philip Pfaffe, Martin Peter Tillmann, Walter F. Tichy, Carsten Dachsbacher |
IEEE Trans. Vis. Comput. Graph. | 4 |
| 2021 | Improving Traceability Link Recovery Using Fine-grained Requirements-to-Code RelationsabstractTraceability information is a fundamental prerequisite for many essential software maintenance and evolution tasks, such as change impact and software reusability analyses. However, manually generating traceability information is costly and error-prone. Therefore, researchers have developed automated approaches that utilize textual similarities between artifacts to establish trace links. These approaches tend to achieve low precision at reasonable recall levels, as they are not able to bridge the semantic gap between high-level natural language requirements and code. We propose to overcome this limitation by leveraging fine-grained, method and sentence level, similarities between the artifacts for traceability link recovery. Our approach uses word embeddings and a Word Mover's Distance-based similarity to bridge the semantic gap. The fine-grained similarities are aggregated according to the artifacts structure and participate in a majority vote to retrieve coarse-grained, requirement-to-class, trace links. In a comprehensive empirical evaluation, we show that our approach is able to outperform state-of-the-art unsupervised traceability link recovery approaches. Additionally, we illustrate the benefits of fine-grained structural analyses to word embedding-based trace link generation. Tobias Hey 0001, Sebastian Weigelt, Walter F. Tichy |
ICSME | 4 |
| 2020 | Programming in Natural Language with fuSE: Synthesizing Methods from Spoken Utterances Using Deep Natural Language UnderstandingabstractThe key to effortless end-user programming is natural language.We examine how to teach intelligent systems new functions, expressed in natural language.As a first step, we collected 3168 samples of teaching efforts in plain English.Then we built fu SE , a novel system that translates English function descriptions into code.Our approach is three-tiered and each task is evaluated separately.We first classify whether an intent to teach new functionality is present in the utterance (accuracy: 97.7% using BERT).Then we analyze the linguistic structure and construct a semantic model (accuracy: 97.6% using a BiLSTM).Finally, we synthesize the signature of the method, map the intermediate steps (instructions in the method body) to API calls and inject control structures (F 1 : 67.0% with information retrieval and knowledge-based methods).In an end-to-end evaluation on an unseen dataset fu SE synthesized 84.6% of the method signatures and 79.2% of the API calls correctly. Sebastian Weigelt, Vanessa Steurer, Tobias Hey 0001, Walter F. Tichy |
ACL | 4 |
| 2020 | NoRBERT: Transfer Learning for Requirements ClassificationabstractClassifying requirements is crucial for automatically handling natural language requirements. The performance of existing automatic classification approaches diminishes when applied to unseen projects because requirements usually vary in wording and style. The main problem is poor generalization. We propose NoRBERT that fine-tunes BERT, a language model that has proven useful for transfer learning. We apply our approach to different tasks in the domain of requirements classification. We achieve similar or better results F1-scores of up to 94%) on both seen and unseen projects for classifying functional and non-functional requirements on the PROMISE NFR dataset. NoRBERT outperforms recent approaches at classifying non-functional requirements subclasses. The most frequent classes are classified with an average F1-score of 87%. In an unseen project setup on a relabeled PROMISE NFR dataset, our approach achieves an improvement of 15 percentage points in average F1score compared to recent approaches. Additionally, we propose to classify functional requirements according to the included concerns, i.e., function, data, and behavior. We labeled the functional requirements in the PROMISE NFR dataset and applied our approach. NoRBERT achieves an F1-score of up to 92%. Overall, NoRBERT improves requirements classification and can be applied to unseen projects with convincing results. Tobias Hey 0001, Jan Keim, Anne Koziolek, Walter F. Tichy |
RE | 4 |
| 2019 | Automatic Generation of Virtual Assistants from Databases using Active OntologiesabstractVirtual assistants such as Siri or Google Assistant are omnipresent.However, their development remains costly.One must either manually model the problem domain or provide thousands of labeled samples.We propose to automatically create virtual assistants based on Active Ontologies for interacting with databases.Our approach generates Active Ontologies; we use the database structure to derive a concept hierarchy and database values together with synonyms to extract information from user queries.Our approach also learns common phrases from samples, e.g. from existing Dialogflow agents.We extract pre-and postfixes and attach them to concepts, e.g. at to detect a succeeding location.The generated Active Ontologies reply to previously unseen and composed requests.The approach is not limited to virtual assistants but can be applied to any system with a textual or voice-based conversational interface such as chatbots.We evaluate our approach in three domains: tourism, hotel, and web cams.The study shows that automatically generated Active Ontologies extract relevant information from user utterances with a precision of 58%.The precision increases to 79% (recall 46%, F1 58%) when we use sample utterances.Our approach successfully transfers between domains, e.g.we learn phrases from the tourism domain and use them to reply to hotel requests without any adjustments. Martin Blersch, Sebastian Weigelt, Walter F. Tichy, Kevin Angele |
SEKE | 3 |
| 2017 | Context Model Acquisition from Spoken UtterancesabstractCurrent systems with spoken language interfaces do not leverage contextual information.Therefore, they struggle with understanding speakers' intentions.We propose a system that creates a context model from user utterances to overcome this lack of information.It comprises eight types of contextual information organized in three layers: individual, conceptual, and hierarchical.We have implemented our approach as a part of the project PARSE.It aims at enabling laypersons to construct simple programs by dialog.Our implementation incrementally generates context including occurring entities and actions as well as their conceptualizations, state transitions, and other types of contextual information.Its analyses are knowledge-or rulebased (depending on the context type), but we make use of many well-known probabilistic NLP techniques.In a user study we have shown the feasibility of our approach, achieving F1 scores from 72% up to 98% depending on the type of contextual information.The context model enables us to resolve complex identity relations.However, quantifying this effect is subject to future work.Likewise, we plan to investigate whether our context model is useful for other language understanding tasks, e.g., anaphora resolution, topic analysis, or correction of automatic speech recognition errors. Sebastian Weigelt, Tobias Hey 0001, Walter F. Tichy |
SEKE | 3 |
| 2017 | NLCI: a natural language command interpreter
Mathias Landhäußer, Sebastian Weigelt, Walter F. Tichy |
Autom. Softw. Eng. | 3 |
| 2017 | Context Model Acquisition from Spoken UtterancesabstractCurrent systems with spoken language interfaces do not leverage contextual information. Therefore, they struggle with understanding speakers’ intentions. We propose a system that creates a context model from user utterances to overcome this lack of information. It comprises eight types of contextual information organized in three layers: individual, conceptual, and hierarchical. We have implemented our approach as a part of the project PARSE. It aims at enabling laypersons to construct simple programs by dialog. Our implementation incrementally generates context including occurring entities and actions as well as their conceptualizations, state transitions, and other types of contextual information. Its analyses are knowledge- or rule-based (depending on the context type), but we make use of many well-known probabilistic NLP techniques. In a user study we have shown the feasibility of our approach, achieving [Formula: see text] scores from 72% up to 98% depending on the type of contextual information. The context model enables us to resolve complex identity relations. However, quantifying this effect is subject to future work. Likewise, we plan to investigate whether our context model is useful for other language understanding tasks, e.g. anaphora resolution, topic analysis, or correction of automatic speech recognition errors. Sebastian Weigelt, Tobias Hey 0001, Walter F. Tichy |
Int. J. Softw. Eng. Knowl. Eng. | 3 |
| 2017 | Editorial of special issue on Software Engineering for Parallel Systems
Ali Jannesari, Felix Wolf 0001, Walter F. Tichy |
J. Syst. Softw. | 3 |
| 2016 | Online-Autotuning of Parallel SAH kD-TreesabstractWe explore the benefits of using online-autotuning to find an optimal configuration for the parallel construction of Surface Area Heuristic (SAH) kD-trees. Using a quickly converging autotuning mechanism, we achieve a significant performance improvement of up to 1.96x. The SAH kD-tree is a spatial data structure and a fundamental tool in the domain of computer graphics and simulations. The parallel construction of these trees is influenced by several parameters, controlling various aspects of the algorithm. However, the parameter configurations advocated in the literature are hardly ever portable. To boost portability, we apply online-autotuning to four state-of-the-art variants of parallel kD-tree construction. We show that speedups over the variants' standard configurations are possible with low programmer effort. We further demonstrate the performance portability of our approach by evaluating performance on varying multicore platforms and both static and dynamic geometries. Martin Peter Tillmann, Philip Pfaffe, Christopher Kaag, Walter F. Tichy |
IPDPS | 4 |
| 2015 | Poster: ProNat: An Agent-Based System Design for Programming in Spoken Natural LanguageabstractThe emergence of natural language interfaces has led to first attempts of programming in natural language. We present ProNat, a tool for script-like programming in spoken natural language (SNL). Its agent-based architecture unifies deep natural language understanding (NLU) with modular software design. ProNat focuses on the extraction of processing flows and control structures from spoken utterances. For evaluation we have begun to build a speech corpus. First experiments are conducted in the domain of domestic robotics, but ProNat's architecture makes domain acquisition easy. Test results with spoken utterances in ProNat seem promising, but much work has to be done to achieve deep NLU. Sebastian Weigelt, Walter F. Tichy |
ICSE (2) | 2 |
| 2014 | Locating Parallelization Potential in Object-Oriented Data StructuresabstractThe free lunch of ever increasing single-processor performance is over. Software engineers have to parallelize software to gain performance improvements. But not every software engineer is a parallel expert and with millions of lines of code that have not been developed with multicore in mind, we have to find ways to assist in identifying parallelization potential. This paper makes three contributions: 1) An empirical study of more than 900,000 lines of code reveals five use cases in the runtime profile of object-oriented data structures that carry parallelization potential. 2) The study also points out frequently used data structures in realistic software in which these use cases can be found. 3) We developed DSspy, an automatic dynamic profiler that locates these use cases and makes recommendations on how to parallelize them. Our evaluation shows that DSspy reduces the search space for parallelization by up to 77% and engineers only need to consider 23% of all data structure instances for parallelization. Korbinian Molitorisz, Thomas Karcher, Alexander Biele, Walter F. Tichy |
IPDPS | 4 |
| 2014 | From requirements to UML models and back: how automatic processing of text can support requirements engineering
Mathias Landhäußer, Sven J. Körner, Walter F. Tichy |
Softw. Qual. J. | 3 |
| 2014 | Library-Independent Data Race DetectionabstractData races are a common problem on shared-memory parallel computers, including multicores. Analysis programs called race detectors help find and eliminate them. However, current race detectors are geared for specific concurrency libraries. When programmers use libraries unknown to a given detector, the detector becomes useless or requires extensive reprogramming. We introduce a new synchronization detection mechanism that is independent of concurrency libraries. It dynamically detects synchronization constructs based on a characteristic code pattern. The approach is non-intrusive and applicable to various concurrency libraries. Experimental results confirm that the approach identifies synchronizations and detects data races regardless of the concurrency libraries involved. With this mechanism, race detectors can be written once and need not be adapted to particular libraries. Ali Jannesari, Walter F. Tichy |
IEEE Trans. Parallel Distributed Syst. | 2 |
| 2013 | An Evaluation of Data Race Detectors Using Bug Repositories
Jochen Schimmel, Korbinian Molitorisz, Walter F. Tichy |
FedCSIS | 3 |
| 2013 | Detecting Correlation Violations and Data Races by Inferring Non-deterministic ReadsabstractWith the introduction of multicore systems and parallel programs concurrency bugs have become more common. A notorious class of these bugs are data races that violate correlations between variables. This happens, for example, when the programmer does not update correlated variables atomically, which is needed to maintain their semantic relationship. The detection of such races is challenging because correlations among variables usually escape traditional race detectors which are oblivious of semantic relationships. In this paper, we present an effective method for dynamically identifying correlated variables together with a race detector based on the notion of non-deterministic reads that identifies malicious data races on correlated variables. In eight programs and 190 micro benchmarks, we found more than 100 races that were overlooked by other race detectors. Furthermore, we identified about 300 variable correlations which were violated by these races. Ali Jannesari, Nico Koprowski, Jochen Schimmel, Felix Wolf 0001, Walter F. Tichy |
ICPADS | 5 |
| 2011 | Dynamic Data Race Detection for Correlated Variables
Ali Jannesari, Markus Westphal-Furuya, Walter F. Tichy |
ICA3PP (1) | 3 |
| 2010 | A Language-Based Tuning Mechanism for Task and Pipeline Parallelism
Frank Otto, Christoph A. Schaefer, Matthias Dempe, Walter F. Tichy |
Euro-Par (2) | 4 |
| 2010 | Multicore software engineering: the next challenge in software engineeringabstractDue to stagnating clock rates, future increases in processor performance will have to come from parallelism. Inexpensive multicore processors with several cores on a chip have become standard in PCs, laptops, servers, and embedded devices will follow; manycore chips with hundreds of processors on a single chip are predicted. Software engineers are now asked to write parallel applications of all sorts, and need to quickly grasp the relevant aspects of general-purpose parallel programming. This tutorial at ICSE 2010 prepares them for this challenge. Victor Pankratius, Walter F. Tichy, Peter Hinsbeeck |
ICSE (2) | 2 |
| 2010 | Engineering parallel applications with tunable architecturesabstractCurrent multicore computers differ in many hardware characteristics. Software developers thus hand-tune their parallel programs for a specific platform to achieve the best performance; this is tedious and leads to non-portable code. Although the software architecture also requires adaptation to achieve best performance, it is rarely modified because of the additional implementation effort. The Tunable Architectures approach proposed in this paper automates the architecture adaptation of parallel programs and uses an auto-tuner to find the best-performing software architecture for a particular machine. We introduce a new architecture description language based on parallel patterns and a framework to express architecture variants in a generic way. Several case studies demonstrate significant performance improvements due to architecture tuning and show the applicability of our approach to industrial applications. Software developers are exposed to less parallel programming complexity, thus making the approach attractive for experts as well as inexperienced parallel programmers. Christoph A. Schaefer, Victor Pankratius, Walter F. Tichy |
ICSE (1) | 3 |
| 2010 | Identifying ad-hoc synchronization for enhanced race detectionabstractParallel programs contain a surprising number of ad-hoc synchronization operations. Ad-hoc synchronization operations are loops that busy-wait on condition variables. Current race detectors produce unnecessary warnings (false positives) when ad-hoc synchronization is used. False positives are also generated when programmers use synchronization primitives that are unknown to race detectors, for instance when programmers switch libraries. These shortcomings may result in an overwhelming number of false positives, dissuading programmers from using race detectors. This paper shows that ad-hoc synchronization operations can be detected automatically. The method requires no user intervention such as annotations and has been implemented in the race detector Helgrind+. Evaluation results on various benchmarks confirm that Helgrind+is aware of all synchronizations in programs, reliably reports true races, and produces few false alarms. A surprising result is that with the new technique, Helgrind+can analyze synchronization libraries, so special knowledge about these libraries is not needed in the detector. Ali Jannesari, Walter F. Tichy |
IPDPS | 2 |
| 2009 | XJava: Exploiting Parallelism with Object-Oriented Stream Programming
Frank Otto, Victor Pankratius, Walter F. Tichy |
Euro-Par | 3 |
| 2009 | Atune-IL: An Instrumentation Language for Auto-tuning Parallel Applications
Christoph A. Schaefer, Victor Pankratius, Walter F. Tichy |
Euro-Par | 3 |
| 2009 | Helgrind+: An efficient dynamic race detectorabstractFinding synchronization defects is difficult due to non-deterministic orderings of parallel threads. Current tools for detecting synchronization defects tend to miss many data races or produce an overwhelming number of false alarms. In this paper, we describe Helgrind+, a dynamic race detection tool that incorporates correct handling of condition variables and a combination of the lockset algorithm and happens-before relation. We compare our techniques with Intel Thread Checker and the original Helgrind tool on two substantial benchmark suites. Helgrind+ reduces the number of both false negatives (missed races) and false positives. The additional accuracy incurs almost no performance overhead. Ali Jannesari, Kaibin Bao, Victor Pankratius, Walter F. Tichy |
IPDPS | 4 |
| 2008 | Mapping functions and data redistribution for parallel files
Florin Isaila, Walter F. Tichy |
J. Supercomput. | 2 |
| 2006 | Programming Language Inherent Support for Constrained XML Schema Definition Data Types and OWL DLabstractRecently, the Web Ontology Language (OWL) and XML schema definition (XSD) have become ever more important when it comes to conceptualize knowledge and to define programming language independent type systems. However, writing software that operates on ontological data and on XML instance documents still suffers from a lack of compile time support for OWL and XSD. Especially, obeying lexical- and value space constraints that may be imposed on XSD simple data types and preserving the consistency of assertional ontological knowledge is still error prone and laborious. Validating XML instance documents and checking the consistency of ontological knowledge bases according to given XML schema definitions and ontological terminologies, respectively, requires significant amounts of code. This paper presents novel compile time- and code generation features, which were implemented as an extension of the C# programming language. Zhi# provides compile time-and runtime support for constrained XML schema definition simple data types and it guarantees terminological validity for modifications of assertional ontological data Alexander Paar, Walter F. Tichy |
ASE | 2 |
| 2006 | Logging kernel events on clusters
Jürgen Reuter, Walter F. Tichy |
Future Gener. Comput. Syst. | 2 |
| 2005 | On the design and performance of kernel-level TCP connection endpoint migration in cluster-based serversabstractThe TCP connection endpoint migration allows arbitrary server-side connection endpoint assignments to server nodes in cluster-based servers. The mechanism is client-transparent and supports back-end level request dispatching. It has been implemented in the Linux kernel and can be used as part of a policy-based software architecture for request distribution. We show that the TCP connection end-point migration can be successfully used for request distribution in cluster-based Web servers, both for persistent and non-persistent HTTP connections. We present locality-aware policies using TCP connection migration that outperform Round Robin by factors as high as 2.79 in terms of the average response time for certain classes of requests. Vlad Olaru, Walter F. Tichy |
CCGRID | 2 |
| 2005 | Impact of software engineering research on the practice of software configuration managementabstractSoftware 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 today's SCM systems. Jacky Estublier, David B. Leblang, André van der Hoek, Reidar Conradi, Geoffrey Clemm, Walter F. Tichy, Darcy Wiborg Weber |
ACM Trans. Softw. Eng. Methodol. | 6 |
| 2004 | Integrating collective I/O and cooperative caching into the "clusterfile" parallel file systemabstractThis paper presents the integration of two collective I/O techniques into the Clusterfile parallel file system: disk-directed I/O and two-phase I/O. We show that global cooperative cache management improves the collective I/O performance. The solution focuses on integrating disk parallelism with other types of parallelism: memory (by buffering and caching on several nodes), network (by parallel I/O scheduling strategies) and processors (by redistributing the I/O related computation over several nodes). The performance results show considerable throughput increases over ROMIO's extended two-phase I/O. Florin Isaila, Guido Malpohl, Vlad Olaru, Gabor Szeder, Walter F. Tichy |
ICS | 5 |
| 2004 | Agile Development: Evaluation and ExperienceabstractAgile methods such as Extreme Programming, Crystal, Scrum, and others have attracted a lot of attention recently. Agile methods stress early and continuous delivery of software, welcome changing requirements, and value early feedback from customers. Agile methods seek to cut out inefficiency, bureaucracy, and anything that adds no value to a software product. Proponents of agile methods often see software specification and documentation as adding no value, which has led observers to conclude that agile development is nothing but unprincipled hacking, perhaps even an anarchic counter-reaction to bureaucratic, heavyweight software processes that demand ever more intermediate deliverables from developers. The purpose of this panel is to discuss under what circumstances agile methods work and don't work. Some of the key practices of agile methods are: scheduling according to feature priorities, incremental delivery of software, feedback from expert users, emphasis on face-to-face communication, pair development, minimalist design combined with refactoring, test-driven development, automated regression testing, daily integration, self-organizing teams, and periodic tuning of the methods. Working software is the primary measure of success. Find out what the latest practical experience with agile methods is and learn about the latest thinking in this area. Walter F. Tichy |
ICSE | 1 |
| 2004 | Request Distribution-Aware Caching in Cluster-Based Web ServersabstractThis work presents a performance analysis of request distribution-aware caching in cluster-based Web servers. We use the Zipf-like request distribution curve to guide static Web document caching. A combination of cooperative caching and exclusive caching provides for a cluster-wide caching system that avoids document replication accross the cluster. We explore the benefits of cooperative caching algorithms that use request distribution information to steer their behavior over general purpose cooperative caching algorithms. Exclusive caching exercises a fine-grained control over replication of data blocks across the cluster. The performance of the system has been assessed by using the WebStone benchmark. Our cluster-based server employs Linux kernel-level implementations of cooperative caching and exclusive caching. Current results show that request distribution-aware caching outperforms general-purpose caching algorithms, makes up for the performance loss of non-replicated data solutions and compares favorably to fully-replicated solutions. Vlad Olaru, Walter F. Tichy |
NCA | 2 |
| 2004 | A Controlled Experiment Comparing the Maintainability of Programs Designed with and without Design Patterns-A Replication in a Real Programming Environment
Marek Vokác, Walter F. Tichy, Dag I. K. Sjøberg, Erik Arisholm, Magne Aldrin |
Empir. Softw. Eng. | 2 |
| 2004 | Guest Editors' Introduction: 2003 International Conference on Software Engineering
Laura K. Dillon, Walter F. Tichy |
IEEE Trans. Software Eng. | 2 |
| 2003 | CARDs: Cluster-Aware Remote DisksabstractThis paper presents Cluster-Aware Remote Disks (CARDs), a Single System I/O architecture for cluster computing. CARDs virtualize accesses to remote cluster disks over a System Area Network. Their operation is driven by cooperative caching policies that implement a joint management of the cluster caches. All the CARDS of a given disk employ a common policy, independently of other CARD sets. CARD drivers have been implemented as Linux kernel modules which can flexibly accommodate various cooperative caching algorithms. We designed and implemented a decentralized policy called Home-based Serverless Cooperative Caching (HSCC). HSCC showed cache hit ratios over 50% for workloads that go beyond the limit of the global cache. The best speedup of a CARD over a remote disk interface was 1.54. Vlad Olaru, Walter F. Tichy |
CCGRID | 2 |
| 2003 | View I/O: Improving the Performance of Non-Contiguous I/OabstractThis paper presents view I/O, a non-contiguous parallel I/O technique. We show that the linear file model may be an unsuitable abstraction for non-contiguous I/O optimizations. Additionally, the poor cooperation between a file system and an I/O library like MPI-IO may drastically affect the performance. View I/O has detailed knowledge about parallel structure of a file and about the potential access pattern and exploits it in order to improve performance. The access overhead is reduced by using a strategy "declare once, use several times" and by file off-set compaction. We compare and contrast view I/O with other non-contiguous I/O methods. Our measurements on a cluster of computers indicate a significant performance improvement over other approaches. Florin Isaila, Walter F. Tichy |
CLUSTER | 2 |
| 2003 | Panel: Empirical Validation-What, Why, When, and How
Robert J. Walker, Lionel C. Briand, David Notkin, Carolyn B. Seaman, Walter F. Tichy |
ICSE | 5 |
| 2003 | Renaming Detection
Guido Malpohl, James J. Hunt, Walter F. Tichy |
Autom. Softw. Eng. | 3 |
| 2003 | Clusterfile: a flexible physical layout parallel file systemabstractAbstract This paper presents Clusterfile, a parallel file system that provides parallel file access on a cluster of computers. We introduce a file partitioning model that has been used in the design of Clusterfile. The model uses a data representation that is optimized for multidimensional array partitioning while allowing arbitrary partitions. The paper shows how the file model can be employed for file partitioning into both physical subfiles and logical views. We also present how the conversion between two partitions of the same file is implemented using a general memory redistribution algorithm. We show how we use the algorithm to optimize non‐contiguous read and write operations. The experimental results include performance comparisons with the Parallel Virtual File System (PVFS) and an MPI‐IO implementation for PVFS. Copyright © 2003 John Wiley & Sons, Ltd. Florin Isaila, Walter F. Tichy |
Concurr. Comput. Pract. Exp. | 2 |
| 2003 | A controlled experiment on inheritance depth as a cost factor for code maintenance
Lutz Prechelt, Barbara Unger 0001, Michael Philippsen, Walter F. Tichy |
J. Syst. Softw. | 4 |
| 2003 | Comments on "Formal Methods Application: An Empirical Tale of Software Development"abstractWe comment on the experimental design and the result of the paper mentioned in the title. Our purpose is to show interested readers examples of what can go wrong with experiments in software research and how to avoid the attending problems. Daniel M. Berry, Walter F. Tichy |
IEEE Trans. Software Eng. | 2 |
| 2002 | Impact of the research community for the field of software configuration managementabstractSoftware 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 complex, and more mission/life-critical. This paper presents a brief summary of a full report that discusses the evolution of SCM technology from the early days of software development to present, and the specific impact university and industrial research has had along the way. Jacky Estublier, David B. Leblang, Geoffrey Clemm, Reidar Conradi, André van der Hoek, Walter F. Tichy, Darcy Wiborg Weber |
ICSE | 6 |
| 2002 | Extensible Language-Aware MergingabstractParallel development has become standard practice in software development and maintenance. Though almost every revision control and configuration management system provides some form of merging for combining changes made in parallel, these mechanisms often yield unsatisfactory results. The authors present a new merging algorithm, that uses a fast differencing algorithm and renaming analysis to provide better merge results. The system is language aware, but not language dependent and does not require a special editor so it can be easily integrated in current development environments. James J. Hunt, Walter F. Tichy |
ICSM | 2 |
| 2002 | Two Controlled Experiments Assessing the Usefulness of Design Pattern Documentation in Program MaintenanceabstractUsing 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. Lutz Prechelt, Barbara Unger 0001, Michael Philippsen, Walter F. Tichy |
IEEE Trans. Software Eng. | 4 |
| 2001 | Clusterfile: A Flexible Physical Layout Parallel File SystemabstractThis paper presents Clusterfile, a parallel file system that provides parallel file access on a cluster of computers. Existing parallel file systems offer little control over matching the I/O access patterns and file data layout. Without this matching the applications may face the following problems: contention at I/O nodes, fragmentation of file data, false sharing, small network messages, high overhead of scattering/gathering the data. Clusterfile addresses some of these inefficiencies. Parallel applications can physically partition a file in arbitrary patterns. They can also set arbitrary views on a file. Views hide the parallel structure of the file and ease the programmer's burden of computing complex access indices. The intersections between views and layouts are computed by a memory redistribution algorithm. Read and write operations are optimized by pre-computing the direct mapping between access patterns and disks. Clusterfile uses the same data representation for file layouts, access patterns, and the mappings between each other. Florin Isaila, Walter F. Tichy |
CLUSTER | 2 |
| 2001 | Case Study: Extreme Programming in a University EnvironmentabstractExtreme 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. Matthias M. Müller 0002, Walter F. Tichy |
ICSE | 2 |
| 2001 | A Controlled Experiment in Maintenance Comparing Design Patterns to Simpler SolutionsabstractSoftware 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. Lutz Prechelt, Barbara Unger 0001, Walter F. Tichy, Peter Brössler, Lawrence G. Votta |
IEEE Trans. Software Eng. | 3 |
| 2000 | Renaming DetectionabstractFinding changed identifiers in programs is important for program comparison and merging. Comparing two versions of a program is complicated if renaming has occurred. Textual merging is highly unreliable if, in one version, identifiers were renamed, while in the other version, code using the old identifiers was added or modified. A tool that automatically detects renamed identifiers between pairs of program modules is presented. The detector is part of a suite of intelligent differencing and merging programs that exploit the static semantics of programming languages. No special editor is needed for tracking changes. The core of the renaming detector is language independent. The detector works with multiple file pairs, taking into account renamings that affect multiple files. Renaming detectors for Java and Scheme have been implemented. A case study is presented that demonstrates proof of concept. With renaming detection, a higher quality of program comparison and merging is achievable. Guido Malpohl, James J. Hunt, Walter F. Tichy |
ASE | 3 |
| 2000 | Hints for Reviewing Empirical Work in Software Engineering
Walter F. Tichy |
Empir. Softw. Eng. | 1 |
| 1998 | Prefetching on the Cray-T3EabstractIn many parallel applications, network latency causes a dramatic loss in processor utilization.This paper examines software controlled access pipelining (SCAP) as a technique for hiding network latency.An analytic model of SCAP describes basic operation techniques and predicts performance.Results are validated with benchmarks on the Cray-T3E.They show vectorized version of SCAP (V-SCAP) to be at least as fast as the highly optimized shared memory system functions.SCAP on the Cray-T3E improves performance compared to a blocking execution between 35% and 900%, while V-SCAP performs better with a factor of 2.1 to 62. SCAP achieves a performance speed-up against HPF between 48% to a factor of 9.2 dependent on the data access pattern.It also performs well on irregular access patterns which are not, supported by the standard library. Matthias M. Müller 0002, Thomas M. Warschko, Walter F. Tichy |
International Conference on Supercomputing | 3 |
| 1998 | The ParaStation Project: Using Workstations as Building Blocks for Parallel Computing
Thomas M. Warschko, Joachim M. Blum, Walter F. Tichy |
Inf. Sci. | 3 |
| 1998 | ParaStation: Efficient parallel computing by clustering workstations: Design and evaluation
Thomas M. Warschko, Joachim M. Blum, Walter F. Tichy |
J. Syst. Archit. | 3 |
| 1998 | Addendum to "Delta Algorithms: An Empirical Analysis"abstractThe authors supply machine configurations for experiments reported in “Delta Algorithms: An Empirical Analysis,” by Hunt et al. (ACM Trans. Softw. Eng. Methodol. 7, 2 (Apr. 1998), pp. 192-214). James J. Hunt, Walter F. Tichy |
ACM Trans. Softw. Eng. Methodol. | 2 |
| 1998 | Delta Algorithms: An Empirical AnalysisabstractDelta 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. James J. Hunt, Kiem-Phong Vo, Walter F. Tichy |
ACM Trans. Softw. Eng. Methodol. | 3 |
| 1998 | A Controlled Experiment to Assess the Benefits of Procedure Argument Type CheckingabstractType checking is considered an important mechanism for detecting programming errors, especially interface errors. This report describes an experiment to assess the defect-detection capabilities of static, intermodule type checking. The experiment uses ANSI C and Kernighan & Ritchie (K&R) C. The relevant difference is that the ANSI C compiler checks module interfaces (i.e., the parameter lists calls to external functions), whereas K&R C does not. The experiment employs a counterbalanced design in which each of the 40 subjects, most of them CS PhD students, writes two nontrivial programs that interface with a complex library (Motif). Each subject writes one program in ANSI C and one in K&R C. The input to each compiler run is saved and manually analyzed for defects. Results indicate that delivered ANSI C programs contain significantly fewer interface defects than delivered K&R C programs. Furthermore, after subjects have gained some familiarity with the interface they are using, ANSI C programmers remove defects faster and are more productive (measured in both delivery time and functionality implemented). Lutz Prechelt, Walter F. Tichy |
IEEE Trans. Software Eng. | 2 |
| 1995 | Experimental evaluation in computer science: A quantitative study
Walter F. Tichy, Paul Lukowicz, Lutz Prechelt, Ernst A. Heinz |
J. Syst. Softw. | 1 |
| 1995 | Authors' Responseabstractarticle Free Access Share on Authors' response Authors: Walter Tichy Univ. of Karlsruhe, Karlsruche, Germany Univ. of Karlsruhe, Karlsruche, GermanyView Profile , Rolf Adams Univ. of Karlsruhe, Karlsruche, Germany Univ. of Karlsruhe, Karlsruche, GermanyView Profile , Annette Weinert Univ. of Karlsruhe, Karlsruche, Germany Univ. of Karlsruhe, Karlsruche, GermanyView Profile Authors Info & Claims ACM Transactions on Software Engineering and MethodologyVolume 4Issue 2April 1995 pp 217–219https://doi.org/10.1145/210134.210438Published:01 April 1995Publication History 0citation277DownloadsMetricsTotal Citations0Total Downloads277Last 12 Months2Last 6 weeks1 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteeReaderPDF Rolf Adams, Walter F. Tichy, Annette Weinert |
ACM Trans. Softw. Eng. Methodol. | 2 |
| 1994 | The Cost of Selective Recompilation and Environment ProcessingabstractWhen a single software module in a large system is modified, a potentially large number of other modules may have to be recompiled. By reducing both the number of compilations and the amount of input processed by each compilation run, the turnaround time after changes can be reduced significantly. Potential time savings are measured in a medium-sized, industrial software project over a three-year period. The results indicate that a large number of compilations caused by traditional compilation unit dependencies may be redundant. On the available data, a mechanism that compares compiler output saves about 25 percent, smart recompilation saves 50 percent, and smartest recompilation may save up to 80 percent of compilation work. Furthermore, all compilation methods other than smartest recompilation process large amounts of unused environment data. In the project analyzed, the average environment symbols are actually used. Reading only the actually used symbols would reduce total compiler input by about 50 percent. Combining smart recompilation with a reduction in environment processing might double to triple perceived compilation speed and double linker speed, without sacrificing static type safety. Rolf Adams, Walter F. Tichy, Annette Weinert |
ACM Trans. Softw. Eng. Methodol. | 2 |
| 1992 | Programming-in-the-Large: Past, Present, and FutureabstractArticle Free Access Share on Programming-in-the-large: past, present, and future Author: Walter F. Tichy View Profile Authors Info & Claims ICSE '92: Proceedings of the 14th international conference on Software engineeringJune 1992 Pages 362–367https://doi.org/10.1145/143062.143153Published:01 June 1992Publication History 10citation383DownloadsMetricsTotal Citations10Total Downloads383Last 12 Months16Last 6 weeks2 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteeReaderPDF Walter F. Tichy |
ICSE | 1 |
| 1990 | EDGE: An Extendible Graph Editor
Frances Paulisch, Walter F. Tichy |
Softw. Pract. Exp. | 2 |
| 1989 | NLH/E: A Natural Language Help SystemabstractA natural language help (NLH) system answers questions that are entered as typed, natural language sentences.Compared to traditional keyword lookup, natural language input allows greater flexibility and precision.This report describes such a help system, NLH/E, which answers questions formulated in English.Currently, it can process questions about a substantial domain: over 130 functions described in five chapters of the Common Lisp manual.NLH/E is built with a novel caseframe parser that operates with a thesaurus, case inheritance, and noun/verb phrase unifica tion.These features reduce the size of the grammer considerably, making it feasible to build realistic NLH systems.Statistical data about the grammar are included.NLH is a first step towards a reusability expert, i.e., a program that helps a client find reusable software components by engaging in a natural language dialogue. Walter F. Tichy, Rolf Adams, Lars Holter |
ICSE | 1 |
| 1988 | Tichy's Response to R. W. Schwanke and G. E. Kaiser's "Smarter Recompilation"abstractSchwanke and Kaiser's extension of smart recompilation is an intriguing idea. Their mechanism aims at delaying recompilation work by permitting “harmless” compilation inconsistencies to remain after changes. Full consistency can be reestablished at a later time, after the change has been tested in a subpart of the system. If the change was inadequate, then no needless compilation work was performed. This strategy is used frequently in practice, by exploiting loopholes in system generation tools. Schwanke and Kaiser's mechanism is novel in that it makes this practice safe. The compiler is aware of the inconsistencies, and will not overlook dangerous ones. Furthermore, it can help reestablish full consistency once a change is deemed acceptable. Smarter recompilation defines a harmless inconsistency as follows. If a declaration is changed, this action is treated as introducing a new version of the declaration. The coexistence of both the old and new versions in the same configuration is a harmless inconsistency as long as the uses of the two versions do not conflict. The system must be separable into two partitions, one that uses the old version and the other the new one, such that the interface between the two depends on neither. Since the inconsistent declarations do not cross the interface, the two partitions may even communicate with each other. Of course, inconsistencies not captured by the type system cannot be treated in this way. Schwanke and Kaiser's note leaves a few minor questions unanswered. For instance, a new or changed declaration might cause a redeclaration or overloading error that can only be detected by recompilation. Is this potential problem left undetected until full consistency is desired, or is it checked immediately? If a declaration is deleted that is still in use, is the deletion treated as an error or as a delayed deletion that will take effect after the last use disappears? If the old and new versions of a procedure operate on the same data structure, is it always desirable to let both versions coexist, or can the programmer indicate that the old version should be eliminated before the next program execution? Perhaps a future paper about an implementation will clarify these points. Smarter recompilation also opens the door for more powerful programming tools. For example, since the mechanism maintains cross-reference information, a tool like Masterscope [1] could be built relatively easily. The tool would have the advantage that cross-reference information is immediately available once a module has been compiled. Only little additional data would be needed to classify the uses of symbols. The information could also be exploited by a Maintainer's Assistant. This program helps with reestablishing consistency after changes by suggesting corrections of the affected program parts. For example, it could attempt to make call sites of changed procedures consistent with their headers, update operations on changed record fields, or perform some simple program transformations in response to data structure changes. Walter F. Tichy |
ACM Trans. Program. Lang. Syst. | 1 |
| 1987 | Performance Analysis of File Replication Schemes in Distributed SystemsabstractIn distributed systems the efficiency of the network file system is a key performance issue. Replication of files and directories can enhance file system efficiency, but the choice of replication techniques is crucial. This paper studies a number of replication techniques, including remote access, prereplication, weighted voting, and two demand replication schemes: polling and staling. It develops a Markov chain model, which is capable of characterizing properties of file access sequences, including access locality and access bias. The paper compares the replication techniques under three different network file system architectures. The results show that, under reasonable assumptions, demand replication requires fewer file transfers than remote access, especially for files that have a high degree of access locality. Among the demand replication schemes, staling requires fewer auxiliary messages than polling. Zuwang Ruan, Walter F. Tichy |
SIGMETRICS | 2 |
| 1986 | Smart RecompilationabstractWith current compiler technology, changing a single line in a large software system may trigger massive recompilations. If the change occurs in a file with shared declarations, all compilation units depending upon that file must be recompiled to assure consistency. However, many of those recompilations may be redundant, because the change may affect only a small fraction of the overall system. Smart recompilation is a method for reducing the set of modules that must be recompiled after a change. The method determines whether recompilation is necessary by isolating the differences among program modules and analyzing the effect of changes. The method is applicable to languages with and without overloading. A prototype demonstrates that the method is efficient and can be added with modest effort to existing compilers. Walter F. Tichy |
ACM Trans. Program. Lang. Syst. | 1 |
| 1985 | Smart RecompilationabstractWith current compiler technology, changing a single line in a large software system may trigger massive recompilations. If the change occurs in a file with shared definitions, all compilation units depending upon that file must be recompiled to assure consistency. However, many of those recompilations may be redundant, because the change may actually affect only a small fraction of the overall system. Walter F. Tichy, Mark C. Baker |
POPL | 1 |
| 1985 | RCS - A System for Version ControlabstractAbstract 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 RCS's delta method is space and time efficient. The paper concludes with a detailed survey of version control tools. Walter F. Tichy |
Softw. Pract. Exp. | 1 |
| 1984 | The String-to-String Correction Problem with Block MovesabstractThe 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. Walter F. Tichy |
ACM Trans. Comput. Syst. | 1 |
| 1983 | Stork: An Experimental Migrating File System for Computer Networks
Jehan-François Pâris, Walter F. Tichy |
INFOCOM | 2 |
| 1982 | Design, Implementation, and Evaluation of a Revision Control System
Walter F. Tichy |
ICSE | 1 |
| 1979 | Software Development Based on Module Interconnection
Walter F. Tichy |
ICSE | 1 |