I introduce a compositional approach to application software development. In this approach, an extended entity-relationship diagram (EERD), which represents the component types and the relationship types within an application domain, is used as a template of executable programs in that application domain. As we use structural active objects as the...
This document describes the need for, and design of, diagnostic software that provides circuit verification, fault isolation, and troubleshooting aids. The difference between verification software and true diagnostic software is explained. A modular design of diagnostic software is proposed, consisting of a series of 3-part tests, a test manager, results...
Timing attacks enable an attacker to extract secret information from a cryptosystem by observing timing differences with respect to different inputs given to an encryption or decryption algorithm. Werner Schindler has proposed a timing attack on smart card devices. We implemented this attack based on the same approach for RSA...
This study describes the software metrics analysis of IO releases of an embedded real-time telephone switching system developed by a German telecommunications firm. The micro-controlled application was written in a C-like macro assembly language. We developed a metrics program that computes the standard complexity metrics plus a number of information...
Three block ciphers are considered to determine how well they can be
implemented on existing superscalar architectures such as the Intel Pentium.
An examination of the Pentium architecture suggests that substantial
performance increases can be achieved if particular rules are followed.
Software libraries are written in high-level C language and...
Relational database systems have successfully solved many
business data processing problems. The primary reason of this
success is that the relational data model provides a simple, yet
flexible view of data as tables. In studying VLSI/CAD data, we noticed
that they are often represented in formats similar to relational
tuples....
This paper develops a new model of software maintenance based upon an objective decision rule which determines whether a given software module can be effectively modified, or if it should instead be rewritten. Completely rewriting a module can be expensive, but it can be even more expensive if the module's...
Software Configuration Management (SCM) is a concept of trying to group the changing artifacts of software development to try to manage the complexity of modern day software. This paper provides a roadmap for improving the SCM support process based on a meta-model. I developed a model that defines key practice...
Continuous integration (CI) systems automate the compilation, building, and testing of software. Despite CI rising as a big success story in automated software engineering, it has received almost no attention from the research community. For example, how widely is CI used in practice, and what are some costs and benefits...