The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
The "oracle problem' is a well-known challenge for software testing. Without some means of automatically computing the correct answer for test cases, testers must instead compute the results by hand, or use a previous version of the software. In this paper, we investigate the feasibility of revealing software faults by augmenting the code with complete, specification-based assertions. Our evaluation...
At NASA, more and more functionality is implemented in software. Change requests tend to arrive late, making software flexibility an important aspect. However, such changes present a high risk and are more likely to introduce defects and to violate flexibility properties of the software, causing its "degeneration." In this paper, we present some preliminary results from a recent study of...
Completed design and implementation are often regarded as prerequisites of any verification. While recent development methods establish testability as a design criterion, there is no corresponding design support for other verification methods like model checking and static analysis. Since these methods have inherent scalability problems, their application becomes more difficult where it is most needed...
Dealing with dependability requirements is a complex task for stakeholders and analysts as many different aspects of a system must be taken into account at the same time: services characteristics and quality properties, failure modes and tolerable failure rates, reactions and recovery time in case of failure, and so on. Visualization helps cope with this complexity. In this paper, we build upon a...
Uncertainty pervades all aspects of engineering, and its management is of paramount importance. In software engineering, uncertainty can occur at many levels. It can appear in the software artifacts including requirements specifications, designs, and the code itself. Uncertainty can also manifest in the way we use tools, and in the engineering practices employed. It is even present in the life cycle...
The VizzAnalyzer is a framework for analyses and visualizations of software. It has been developed over years, to a great deal by students and PhD students. In between it has been re-engineered to improve the software quality. In this paper, we publish the results of the software quality measurements over different versions of the VizzAnalyzer framework with well established quality metrics. Some...
This paper presents an implementation and critical analysis of a technique for automated, rigorous scientific program comprehension and error detection. The procedure involves taking a user's existing code, adding semantic declarations for some primitive variables, symbolically executing the user's code, and recognizing semantic concepts from the symbolic expressions generated. This analysis provides...
Global software development projects are passing through the boundaries of a company or a country. In order to manage global teams effectively, it is necessary to define a software process adapted to different organizational cultures. A global software process gives all team members a common language to define tasks and activities allowing the better understanding of the business domain terms and...
Because of their strong economic impact, complexity and maintainability are among the most widely used terms in software engineering. But, they are also among the most weakly understood. A multitude of software metrics attempts to analyze complexity and a proliferation of different definitions of maintainability can be found in text books and corporate quality guide lines. The trouble is that none...
In previous research, we showed that risk factors have a significant negative effect on reliability (e.g., failure occurrence). In this research, we show that it is feasible to predict risk (i.e., the probability that risk factors are related to discrepancy reports occurring on a software release). This is an important advance over the previous research because discrepancy reports are available in...
We present the basics of a probabilistic methodology to assess the overall quality of software preparatory to its release through the evaluation of process and product evidence, the " 'good enough' to release" (GETR) methodology, in this paper. GETR methodology has three main elements: a model whose elements represent activities and artifacts identified in the literature as being effective...
The Simulink model tester "global assertions" capability developed by the software productivity consortium and T-VEC technologies is described in this paper. This assertions mechanism incorporates design assumptions or natural relationships with Simulink models to automatically generate more valid test vectors using the test automation framework. The positive impact this mechanism has on...
This paper presents a framework that guides the requirements engineer in the implementation and execution of an effective requirements generation process. We achieve this goal by providing a well-defined requirements engineering model and a criteria based process for optimizing method selection for attendant activities. Current models address only portions of the requirements process or include activities...
The cognitive agent architecture (Cougaar) is a distributed agent architecture framework originally developed to build large scale logistics applications for the Department of Defense. In order to facilitate rapid development of complex military and commercial Cougaar applications, we are devising "recipes" on how to automate the Cougaar application development process. The envisioned Cougaar...
Compared with texts, graphs are more intuitive to express comparative and structural information. Many graphical approaches, however, lack a formal basis for precise specifications in the design. This paper proposes a generative style-driven framework for software architecture specification based on a visual language formalism. In this framework, the designer uses graphical notations to define architectural...
We outline a supervisory control method for enforcing deadlines in real-time systems modeled as time Petri nets. Given a time Petri net NscrT, a net transition td, and a deadline d, we generate supervisory controllers that force td to fire at most d time units since the previous firing of td. Our method uses the unfolding of the ordinary (untimed) Petri net underlying Nscr T in order to define control...
We propose a framework for top-down Web service interoperation based on an aggressive version of model-driven development (AMDD). The point here is to govern the construction and customization of complex Web applications at the model level in a framework that allows application experts to directly formulate their desires in an adequate way. Adequate means in this context that applications can be automatically...
Model-based analysis is a well-established approach to assess the influence of several factors on system availability within the context of system structure. Prevalent availability models in the literature consider all failures to be equivalent in terms of their consequences on system services. In other words, all the failures are assumed to be of the same level of severity. In practice, failures...
A challenging problem for software engineering practitioners is moving from high-level system architectures produced by system engineers to deployable software produced by software engineers. In this paper we describe our experience working with NASA engineers to develop an approach and toolset for automating the generation of space systems software from architectural specifications. Our experience...
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.