4599441
A Hypothesis-Based Approach to Detecting Runtime Violations
We have developed an approach to apply formal methods to represent program source code as a model and use an automated theorem prover to detect runtime violations by doing static analysis. Unlike other proof-based program verification approaches, this approach is based on a hypothesis to develop the implicit specification information, such as invariants, preconditions, postconditions, then using an automated theorem prover to verify the correctness of each statement in the program. Our research work can catch those runtime exceptions that are beyond the capability of control flow-based analysis in compilers.
22388831
PROOF: A Parallel Object-Oriented Functional Computation Model
Abstract Despite the rapid development of parallel computer architectures in recent years, software development technology for parallel processing systems is still largely inadequate. An integrated object-oriented and functional computation model, called PROOF, is developed to facilitate the effective development of software for parallel processing systems. It will fully explore the parallelism in software systems and reduce the development effort by supporting software engineering principles, such as information hiding, modularity, modifiability, and reusability. In PROOF, we achieve the coherent integration of (1) parallelism and inheritance of objects and (2) referential transparency and history sensitivity of functions. The major features and the semantics of PROOF are presented. A parallel programming language and a software development approach based on PROOF are under development. Implementation issues are also discussed.
13944177
A pragmatic approach to formalizing object-oriented modeling and development
Despite recent developments in formal methods, these methods have yet to enter the mainstream of the software industry. We first examine the pragmatic obstacles to making formal methods practical and usable. Then we present a pragmatic approach to integrate a popular object oriented modeling notation UML and a popular formal notation Z. Our approach is distinctive in its emphasis on overcoming the practical obstacles. We also present a light weight supporting tool for our approach. A prototype of the supporting tool is completed. It allows us to demonstrate the feasibility and capability of our approach.
42442258
An approach to animating Z specifications
This paper presents the ZANS approach to animating a large subset of Z specifications. Unlike most other animation approaches that are based on functional or logical programming paradigms, the approach presented transforms the specifications into an imperative intermediate language, which can also serve as the basis of code synthesis from Z specifications. ZANS is showing promise of being an effective tool for requirements validation and assisting students learning Z specification languages.
223086
Detecting null pointer violations in Java programs
The use of formal methods has been growing steadily and there have been a number of successful applications of formal methods in a range of application areas. It seems agreed that quality should be assured by applying testing, analysis and formal methods to rigorously defined precode artifacts. The detection of null pointer violation errors is definitely such a goal. This way of applying formal methods has a great potential to increase our confidence in the software. Our goal is to provide a practical mechanism to assist the application of formal methods in the early detection of null pointer violation errors in programs. Our solution is theorem proving based and is focused on the identification of the possible places in which a theorem prover could assist in the detection of null pointer violation errors and the formulation of the necessary proof obligations.
44437581
Visual languages and software specifications
The important issues and major features of visual languages are summarized, and their impact on software engineering, especially software specification techniques, are discussed. The potential of using visual languages for software specifications to improve software reliability, modifiability, reusability, and understandability is also considered.<<ETX>>
6166247
Virtual backbone construction in multihop ad hoc wireless networks
Summary Recent research points out that the flooding mechanism for topology update or route request in existing ad hoc routing protocols greatly degrades the network capacity. If we restrict the broadcast of control packets within a small subset of hosts in the network, the protocol overhead can be substantially reduced. This motivates our research of constructing a virtual backbone by computing a connected dominating set (CDS) in unit-disk graphs. In this paper, we propose two distributed algorithms to approximate a minimum CDS. These algorithms take linear time. Their performance is verified by a complete theoretical analysis. Copyright # 2006 John Wiley & Sons, Ltd.
18149163
SMOQE: a system for providing secure access to XML
XML views have been widely used to enforce access control, support data integration, and speed up query answering. In many applications, e.g., XML security enforcement, it is prohibitively expensive to materialize and maintain a large number of views. Therefore, views are necessarily virtual. An immediate question then is how to answer queries on XML virtual views. A common approach is to rewrite a query on the view to an equivalent one on the underlying document, and evaluate the rewritten query. This is the approach used in the Secure MOdular Query Engine (SMOQE). The demo presents SMOQE, the first system to provide efficient support for answering queries over virtual and possibly recursively defined XML views. We demonstrate a set of novel techniques for the specification of views, the rewriting, evaluation and optimization of XML queries. Moreover, we provide insights into the internals of the engine by a set of visual tools.
19271257
Extremal Cayley Digraphs of Finite Cyclic Groups
Let $\cay(m,A)$ denote the Cayley digraph on ${\bf Z}_m$ generated by $A$, where ${\bf Z}_m$ is the cyclic group of residues modulo $m$. Let $r(m,A)$ denote the average distance of $\cay(m,A)$. For any $r\ge1$ and $k\ge1$ define $m^*(r,k)$ as the largest positive integer $m$ such that the average distance of the Cayley digraph $\hbox{Cay}(m,A)$ is at most $r$ for some set $A$ with $k$ elements. In this paper, an asymptotic formula for $m^*(r,2)$ is proved and a lower bound for $m^*(r,k)$ is also obtained for $k\ge3$. Applications to the construction of optimal distributed loop networks is discussed in this paper. A lower bound of the average order of subsets for asymptotic bases in number theory is proved using the main theorem of this paper.
14531853
A novel asynchronous FPGA architecture design and its performance evaluation
This paper proposes GAPLA: a globally asynchronous locally synchronous programmable logic array architecture. The whole FPGA area is divided into locally synchronous blocks wrapped with asynchronous I/O interfaces. Data communications between synchronous blocks are controlled by 2-phase handshaking signals under bundled-data delay assumption. The size and shape of each locally synchronous block are programmable so that different modules in a design can be effectively implemented. By dividing the FPGA area into smaller blocks, the delays of long interconnect wires, which could easily dominate other delays in conventional FPGAs, only come into picture when there are communications between blocks. Therefore, each block could run at higher speed. The area overhead of adopting the GALS style in GAPLA architecture is estimated to be very small (about 7%). Experimental results show an up to 55% performance improvement compared to the conventional FPGAs.
17179157
Conditional Functional Dependencies for Data Cleaning
We propose a class of constraints, referred to as conditional functional dependencies (CFDs), and study their applications in data cleaning. In contrast to traditional functional dependencies (FDs) that were developed mainly for schema design, CFDs aim at capturing the consistency of data by incorporating bindings of semantic ally related values. For CFDs we provide an inference system analogous to Armstrong's axioms for FDs, as well as consistency analysis. Since CFDs allow data bindings, a large number of individual constraints may hold on a table, complicating detection of constraint violations. We develop techniques for detecting CFD violations in SQL as well as novel techniques for checking multiple constraints in a single query. We experimentally evaluate the performance of our CFD-based methods for inconsistency detection. This not only yields a constraint theory for CFDs but is also a step toward a practical constraint-based method for improving data quality.