Results 1 -
8 of
8
Efficient Algorithms for Predicting Requests to Web Servers
, 1998
"... Internet traffic has grown significantly with the popularity of the Web. Consequently user perceived latency in retrieving web pages has increased. Caching and prefetching at the client side, aided by hints from the server, are attempts at solving this problem. We suggest techniques to group resourc ..."
Abstract
-
Cited by 33 (5 self)
- Add to MetaCart
Internet traffic has grown significantly with the popularity of the Web. Consequently user perceived latency in retrieving web pages has increased. Caching and prefetching at the client side, aided by hints from the server, are attempts at solving this problem. We suggest techniques to group resources that are likely to be accessed together into volumes, which are used to generate hints tailored to individual applications, such as prefetching, cache replacement, and cache validation. We discuss theoretical aspects of optimal volume construction, and develop efficient heuristics. Tunable parameters allow our algorithms to predict as many accesses as possible while reducing false predictions and limiting the size of hints. We analyze a collection of large server logs, extracting access patterns to construct and evaluate volumes. We examine sampling techniques to process only portions of the server logs while constructing equally good volumes. We show that it is possible to predict reques...
Engineering a differencing and compression data format
- In Proceedings of the Usenix Annual Technical Conference
, 2002
"... Conference ..."
Xept: A Software Instrumentation Method for Exception Handling
- Proc. Int. Symp. on Software Reliability Engineering (ISSRE
, 1997
"... Modern software systems are often built from existing library components. A common problem is how to fix bugs when source code is not available. Xept is an instrumentation language and tool that can be used to add to object code the ability to detect, mask, recover and propagate exceptions from libr ..."
Abstract
-
Cited by 19 (2 self)
- Add to MetaCart
Modern software systems are often built from existing library components. A common problem is how to fix bugs when source code is not available. Xept is an instrumentation language and tool that can be used to add to object code the ability to detect, mask, recover and propagate exceptions from library functions. This helps to alleviate or avoid a large class of errors resulting from function misuses. Examples will be given to show applications of Xept in actual software systems. 1. Introduction Modern software systems are often built out of reusable components from diverse sources, including freeware or software vendors. For various reasons, including proprietary concerns, source code for such components is often not available. Thus, unless the original developers are still around and willing to help, bugs in such components are often left unfixed. This points out a need for tools and approaches to handle bugs in object code. This is not a generally solvable problem because bugs can a...
Software Issues in Characterizing Web Server Logs
- In World Wide Web Consortium Workshop on Web Characterization
, 1998
"... Introduction Web server logs play an important role in measuring the overhead on servers and the network, as well as in evaluating the performance of features of the HTTP protocol. Presently, there are several products on the market that analyze logs, employing a variety of techniques to store and ..."
Abstract
-
Cited by 12 (1 self)
- Add to MetaCart
Introduction Web server logs play an important role in measuring the overhead on servers and the network, as well as in evaluating the performance of features of the HTTP protocol. Presently, there are several products on the market that analyze logs, employing a variety of techniques to store and manipulate them. For example, Accrue [1] uses a relational database, Andromedia [2] uses an object oriented database, while Netgenesis [3] uses Informix. Other commercial log analyzers include Sawmill [4], SurfReport [5], and WebTrends [6]. These companies do not go into detail about the mechanisms they use to clean and process the logs for obvious reasons. Most researchers and academicians have access to logs from a few sites. These logs range in durations from a day, to a few weeks, to several months. The number of hits on sites vary from few hundred thousand to several million. Processing large and varied server logs introduces a number of important software challenges, including:
An Automated Approach to Increasing the Robustness of C Libraries
, 2002
"... As our reliance on computers increases, so does the need for robust software. Previous studies have shown that many C libraries exhibit robustness problems due to exceptional inputs. This paper describes the HEALERS system that uses an automated approach to increasing the robustness of C libraries w ..."
Abstract
-
Cited by 10 (5 self)
- Add to MetaCart
As our reliance on computers increases, so does the need for robust software. Previous studies have shown that many C libraries exhibit robustness problems due to exceptional inputs. This paper describes the HEALERS system that uses an automated approach to increasing the robustness of C libraries without source code access. The system extracts the C type information for a shared library using header files and manual pages. Then it generates for each global function a fault-injector to determine a "robust" argument type for each argument. Based on this information and optionally, some manual editing, the system generates a robustness wrapper that performs careful argument checking before invoking C library functions. A robustness evaluation using Ballista tests has shown that our wrapper can prevent crash, hang, and abort failures. Moreover, the wrapper generation process is highly automated and can easily adapt to new library releases.
An Objective Reuse Metric: Model and Methodology
- In Fifth European Software Engineering Conference
, 1995
"... . Software reuse is an effective way to gain productivity in constructing software systems. In order to continuously monitor the progress of reuse in the context of a project, we need an objective and repeatable way to measure the extent of reuse. This paper proposes a model and methodology to auto ..."
Abstract
-
Cited by 7 (4 self)
- Add to MetaCart
. Software reuse is an effective way to gain productivity in constructing software systems. In order to continuously monitor the progress of reuse in the context of a project, we need an objective and repeatable way to measure the extent of reuse. This paper proposes a model and methodology to automatically compute a general objective reuse measure from the source code of applications and reusable software repositories. Unlike consumer-oriented reuse measures in the literature, this measure is useful from the viewpoints of both reuse consumers and reuse producers. The former can use it to estimate the extent of reuse in their applications while the latter can use it to determine the impact of certain reusable components. In contrast to other objective code-based measures, our measure is both complete and precise in that it is calculated based on and only on those code entities that are essential to the functioning of an application. While the model and methodology are largely language...
Tksh: A Tcl Library for KornShell
- In Proceedings of the USENIX Tcl/Tk Workshop
, 1996
"... This paper describes Tksh, an implementation of the Tcl C library written on top of the library for the new KornShell (ksh93). Tksh emulates the behavior of Tcl by using the API that is provided for extending ksh93, which is similar to the Tcl library in that it allows access to variables, functions ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
This paper describes Tksh, an implementation of the Tcl C library written on top of the library for the new KornShell (ksh93). Tksh emulates the behavior of Tcl by using the API that is provided for extending ksh93, which is similar to the Tcl library in that it allows access to variables, functions and other state of the interpreter. This implementation requires no modification to ksh93, and allows Tcl libraries such as Tk to run on top of ksh93 unchanged, making it possible to use shell scripts in place of Tcl scripts. ksh93 is well suited for use with Tk because it is backward compatible with sh, making it both easy to learn and easy to extend existing scripts to provide a graphical user interface. Tksh is not yet another port of Tk to another language -- it allows Tcl scripts to run without modification using the ksh93 internals. This makes it possible to combine Tcl and ksh93, which is useful for writing ksh93 scripts that use components that have been implemented in Tcl (such as ...

