Software engineering is an engineering field for software development. However, we often feel gaps between software engineering and software development. Authors have been doing software engineering research (“software development technology research” in this paper), and applying achievements of the research to software development in industry. In this paper, a trend of software development technology research is shown based on survey of journals published from industry, and I try to understand gaps between software development on business and academic software engineering reseach.
Utilization of software metrics is essential to successful software quality management. However, software metrics are sometimes misused, abandoned or unconsidered in practice. To avoid these unwanted consequences, we need to answer the simple but difficult problem about “what to measure and how to utilize.” This article discusses fundamental topics which include classification of metrics, measurement theory, statistical models and their pitfalls. The article also provide some useful information about tools which help us make use of software metrics.
A code clone is typically created by a developer reusing a code fragment in a copy-and-paste manner. Such copied code fragments usually exist in source code of almost every software products. The code clones are known as potential troubles in maintenance, while we can learn kinds of knowledge from the existence of such code fragments. This paper explains about topics about code clone, especially detection methods of code clones and various applications of the detection methods.
As growth of the Internet, services on it have been playing important roles in both industries and personal activities. While such services lead us to a useful society, we cannot disregard security harm to the services by attacks through the network. We need, therefore, to produce secure services to provide the useful functionality. However, it is not so easy to make services secure, because we need to consider many concerns on security. We describe software security technologies from the difficulty point of view of secure software development in this paper. After that, we discuss how many difficulties we can solve with the technologies to make unsolved difficulties clear, that we need to tackle for future research direction.
This article invites the readers to a revisiting tour for the well-known Chomsky hierarchy. The highlighted sights are the way to describe formal grammars and the valleys between adjacent layers in the hierarchy. Mildly context-sensitive grammars are courteously guided as a field of close game between machine and human.
We propose a method of system-level UML modeling for evaluation the performance of embedded systems. The major part of proposed technology is the reverse modeling of embedded software. A method by eliminating execution traces to extract abstract behavior is stated in this paper. The execution traces captured on the existing product should be eliminated by dynamic analysis from the particular viewpoint, and we argue an elimination from performance viewpoint. A model required for performance evaluation can be created from the elimination result as a representation of abstract behavior of the existing product. A case study of an actual product of MFP (multifunction peripheral/printer) is presented in this paper. The method is evaluated by comparing the performance of a MFP prototype and the model created by the method. We conclude the method is good for performance evaluation of embedded systems by evaluating the accuracy of performance estimation and the characteristics retention by the elimination.
Many fatal accidents of safety critical reactive systems have occurred in unexpected situations which had not been considered during design and test phases of the systems. To prevent these accidents, reactive systems should be designed to respond appropriately to any requests of any timing from their environments. Verifying this property in specification phase reduces the development costs of safety critical reactive systems. This property of a specification is well known as realizability. If a specification was found not to be realizable, we have to determine the flaws in the unrealizable specification. Unrealizability of a specification arises from arbitrary requirements given by system designers. From a different point of view, it can be thought that the unrealizable specification implicitly imposes a precondition on the behavior of environment, which a system can not control. If it is possible to obtain the precondition in intuitively comprehensive forms, this makes it easy for system designers to understand the cause of flaws in specifications. In this paper, we propose methods for deriving constraints on the behavior of environments, which is implicitly imposed by unrealizable specifications. Instead of realizability, we use strong satisfiability which is a necessary condition for realizability, due to the fact that many practical unrealizable specifications are also strongly unsatisfiable, and strong satisfiability have the advantage of lower complexity for analysis against realizability. These methods derive constraints in propositional linear temporal logic from Büchi automata representing specifications. The expressions of derived constraints are limited to simple and intuitively comprehensive forms where only two temporal operators appear successively. We give proofs for three correctness properties of our methods, i.e. the termination property, the soundness property, and the weakest constraints derivability. We also discuss complexity of our methods. Finally, we discuss applicability of our methods.
Software project analysis for improvement of the process is becoming an important factor in today's information-oriented society. In this research, we propose a method for visualization of software repository based on the frequency of artifact modifications by developers. Previous studies in this area have some problems caused by cost such as pre-processing or setting environment for this analysis. We propose a lightweight method that achieves a low cost analysis for developers. Our method has been implemented using the analysis tool “IZMI”.
In the semantic web context, there is a need to consider the nature of event entities in order to describe the semantic data of events in addition to that of objects and properties. This is because event data describes various features and behaviors of the occurrences of actions and changes in the real world. In this paper, we propose to establish an upper event ontology in order-sorted logic as an infrastructure for the semantic data of events. Our event ontology contains a classification of event entities (e.g., natural events and artificial events), event semantic functions (e.g., state change and existential change), and event relationships (e.g., causal relations and next-event relations).
Hybrid systems are dynamical systems with continuous changes of states and discrete changes of states and governing equations. HydLa is a constraint-based modeling language for hybrid systems, and its implementation aims for system verification by means of simulation with guaranteed accuracy. However, how to simulate HydLa programs with initial values given as ranges or with symbolic parameters has not been clarified. This paper gives a nondeterministic execution algorithm that correctly handles discrete and continuous changes in HydLa programs.
This paper describes an investigation on the impact of selecting a specific defect type in software inspection. We conducted a controlled experiment concerning the effect of selecting a defect type on software inspection. In the experiment, 32 practitioners were randomly assigned to three groups performing (a) inspection without a selected defect type, (b) inspection with a selected defect type determined at the beginning of inspection, and (c) inspection with a selected defect type determined at the beginning of inspection and at every defect detection, verification of whether the detected defect is categorized as the selected defect type. The results of the experiment show that specifying the selected defect type increases the proportion of defects detected of the selected type to other detected defects. The difference between the results of groups (a) and (b) indicates that in ordinary inspections, the procedure employed by group (b) should provide higher efficiency.