44293400
A Proxy-Based Personal Portal
8351589
Using automatic clustering to produce high-level system organizations of source code
We describe a collection of algorithms that we developed and implemented to facilitate the automatic recovery of the modular structure of a software system from its source code. We treat automatic modularization as an optimization problem. Our algorithms make use of traditional hill-climbing and genetic algorithms.
28687449
WebGUIDE: Querying and Navigating Changes in Web Repositories
Abstract WebGUIDE is a system for exploring changes to World Wide Web pages and Web structure that supports recursive document comparison: users may explore the differences between pages with respect to two dates. Differences between pages are computed automatically and summarized in a new HTML page, and differences in link structure are shown via graphical representations. WebGUIDE is the combination of two tools that complement one another: the ATT Ciao [6] is a graphical navigator that allows users to query and browse structural connections embedded in a document repository. The union of these tools let users get information on the evolution of pages of interest (both textually and graphically), browse the differences interactively, and dynamically modify the set of pages with which they interact.
2016418
CHIME: customizable hyperlink insertion and maintenance engine for software engineering environments
Source code browsing is an important part of program comprehension. Browsers expose semantic and syntactic relationships (such as between object references and definitions) in GUI-accessible forms. These relationships are derived using tools which perform static analysis on the original software documents. Implementing such browsers is tricky. Program comprehension strategies vary, and it is necessary to provide the right browsing support. Analysis tools to derive the relevant cross-reference relationships are often difficult to build. Tools to browse distributed documents require extensive coding for the GUI, as well as for data communications. Therefore, there are powerful motivations for using existing static analysis tools in conjunction with WWW technology to implement browsers for distributed software projects. The CHIME framework provides a flexible, customizable platform for inserting HTML links into software documents using information generated by existing software analysis tools. Using the CHIME specification language, and a simple, retargetable database interface, it is possible to quickly incorporate a range of different link insertion tools for software documents, into an existing, legacy software development environment. This enables tool builders to offer customized browsing support with a well-known GUI. This paper describes the CHIME architecture, and describes our experience with several re-targeting efforts of this system.
18376604
Software reuse metrics for an industrial project
In 1990 a project was established at AT&T to build applications that manage telephone systems. Since then the project has successfully completed over 20 applications comprising about 500,000 lines of source code. These systems are used daily by hundreds of managers and operators to monitor and provision the AT&T long distance telephone network. The project's success can be attributed directly to an early commitment in making software reuse a major component of its software development process. A critical factor was the establishment of a feedback loop between consumers and producers of reusable software to foster continual improvement and extension of reusable code repositories. Progresses in the feedback loop are measured by five different reuse measures. While no one measure is "best" as each provides a different perspective on reuse, two derived from the consumer/producer model have proven particularly useful: use of reusable library components and reuse growth factor. The latter developed in the study, helped uncover a new opportunity for reuse that was not obvious from other measures.
1089156
Visualizing and Analyzing Software Infrastructures
Companies frequently need to redesign their software infrastructures in response to marketplace changes, but they must do so carefully so that the new architecture will not disrupt existing operations or increase operating costs unnecessarily. To support these goals, system architects have long recognized the need to build a repository of information about all of their company's systems and their interfaces. Using this information, architects create system interface diagrams to help them study the existing architecture. The authors discuss their system, Enterprise Navigator, which lets users make ad hoc queries about an enterprise software architecture and then automatically generate the corresponding system interface diagram in real time on the Web.
206473788
Booth's law of word frequency
Booth’s (1967) law is widely used to model the incidence of low frequency words in English text. Fedorowicz (198 1, 1982a, 1982b) used equation (3) below to study automated bibliographic systems. Pao (1978) used equation (4) to derive a transition point in automatic text analysis. The present communication confirms this usage, corrects a deficiency in the original derivation, and makes the results more general. Booth’s results are based on Zipf’s (1949) well-known relationship between the probability of occurrence, p(r), and the corresponding rank, r, of a word where
13210979
Specification-based verification and validation of Web services and service-oriented operating systems
Service-oriented architecture (SOA) and Web services (WS) have received significant attention recently. Even though WS are based on open standards and support software interoperability, but the trustworthy issues of WS has actually limited the growth of WS applications as organizations do not trust those WS developed by other vendors and at the same time they do not have access to the source code. This paper addressed this issue by proposing several solutions including specification-based verification and validation, collaborative testing, and group testing. The key concept is that it is possible to provide a comprehensive evaluation of WS even if their source code is not available.
11396211
Partition approach to failure detectors for k-set agreement
In k-set agreement problem, every process proposes a value and eventually at most k different values can be decided. When k > 1, different subset of processes may decide on different values, and thus it naturally exhibits partition among processes based on their decision values. In this paper, we propose the partition approach to dene failure detectors that capture the partition nature of k-set agreement. The power of the partition approach is to further weaken failure detectors that are already very weak in solving k-set agreement, and thus invalid the failure detectors as candidates for the weakest failure detectors for k-set agreement. Using the approach, we propose two new classes of failure detectors, statically partitioned failure detectors k and splittable partitioned failure detectors S k , both are strong enough to solve k-set agreement in the message passing model. However, we show that k is strictly weaker than k, the weakest failure detectors known so far for k-set agreement, and S is even weaker than k. The partition approach provides a new dimension to weaken failure detectors related to k-set agreement. It is an effective way to check whether a failure detector is the weakest one solving k-set agreement or not. Together with [4], we show that so far all candidates for the weakest failure detectors including k and in both the message-passing model and the shared-memory model have failed our partition test.
8967502
The impact of incorrectly speculated memory operations in a multithreaded architecture
The speculated execution of threads in a multithreaded architecture, plus the branch prediction used in each thread execution unit, allows many instructions to be executed speculatively, that is, before it is known whether they actually needed by the program. In this study, we examine how the load instructions executed on what turn out to be incorrectly executed program paths impact the memory system performance. We find that incorrect speculation (wrong execution) on the instruction and thread-level provides an indirect prefetching effect for the later correct execution paths and threads. By continuing to execute the mispredicted load instructions even after the instruction or thread-level control speculation is known to be incorrect, the cache misses observed on the correctly executed paths can be reduced by 16 to 73 percent, with an average reduction of 45 percent. However, we also find that these extra loads can increase the amount of memory traffic and can pollute the cache. We introduce the small, fully associative wrong execution cache (WEC) to eliminate the potential pollution that can be caused by the execution of the mispredicted load instructions. Our simulation results show that the WEC can improve the performance of a concurrent multithreaded architecture up to 18.5 percent on the benchmark programs tested, with an average improvement of 9.7 percent, due to the reductions in the number of cache misses.
62612563
Enabling location-based services in wireless LAN hotspots
The wide deployment of IEEE 802.11 Wireless LAN (WLAN) makes possible application services developed in WLAN hotspots. Owing to the small cell size in WLAN hotspots, it is practical to develop location-based services with the awareness of the WLAN access points (APs) that mobile devices currently access. In this paper, we propose an effective location determination technique using the inherent SNMP support in WLAN APs. It is shown that the current location of a mobile device can be determined from the SNMP traps sent by APs. Since the SNMP-based approach doesn't need any particular software or hardware in mobile devices, location-based services can be widely deployed, especially in public WLAN hotspots. To further enable location-based services through the WWW, this paper also considers the location determination of a mobile device from its IP address, retrieved in a WWW environment. In addition, we propose a web service framework for location-based services in WLAN hotspots. Thus, location-based services can be developed in a standard way.