scispace - formally typeset
Search or ask a question
Topic

Software

About: Software is a research topic. Over the lifetime, 130577 publications have been published within this topic receiving 2028987 citations. The topic is also known as: computer software & computational tool.


Papers
More filters
Proceedings ArticleDOI
28 Jun 2004
TL;DR: Building upon the failure modes seen in the microarchitecture, fault injections into software were performed to investigate the level of masking that the software layer provides and determined that fewer than 15% of single bit corruptions in processor state result in software visible errors.
Abstract: The progression of implementation technologies into the sub-100 nanometer lithographies renew the importance of understanding and protecting against single-event upsets in digital systems. In this work, the effects of transient faults on high performance microprocessors is explored. To perform a thorough exploration, a highly detailed register transfer level model of a deeply pipelined, out-of-order microprocessor was created. Using fault injection, we determined that fewer than 15% of single bit corruptions in processor state result in software visible errors. These failures were analyzed to identify the most vulnerable portions of the processor, which were then protected using simple low-overhead techniques. This resulted in a 75% reduction in failures. Building upon the failure modes seen in the microarchitecture, fault injections into software were performed to investigate the level of masking that the software layer provides. Together, the baseline microarchitectural substrate and software mask more than 9 out of 10 transient faults from affecting correct program execution.

406 citations

Journal ArticleDOI
TL;DR: A formal characterization of the reflexion model technique is provided, practical aspects of the approach are discussed, experiences of applying the approach and tools are related, and the technique is placed into the context of related work.
Abstract: The artifacts constituting a software system often drift apart over time. We have developed the software reflexion model technique to help engineers perform various software engineering tasks by exploiting, rather than removing, the drift between design and implementation. More specifically, the technique helps an engineer compare artifacts by summarizing where one artifact (such as a design) is consistent with and inconsistent with another artifact (such as source). The technique can be applied to help a software engineer evolve a structural mental model of a system to the point that it is "good enough" to be used for reasoning about a task at hand. The software reflexion model technique has been applied to support a variety of tasks, including design conformance, change assessment, and an experimental reengineering of the million-lines-of-code Microsoft Excel product. We provide a formal characterization of the reflexion model technique, discuss practical aspects of the approach, relate experiences of applying the approach and tools, and place the technique into the context of related work.

405 citations

Journal ArticleDOI
TL;DR: The concept of a polymetric view is presented, a lightweight software visualization technique enriched with software metrics information that helps to understand the structure and detect problems of a software system in the initial phases of a reverse engineering process.
Abstract: Reverse engineering software systems has become a major concern in software industry because of their sheer size and complexity. This problem needs to be tackled since the systems in question are of considerable worth to their owners and maintainers. In this article, we present the concept of a polymetric view, a lightweight software visualization technique enriched with software metrics information. Polymetric views help to understand the structure and detect problems of a software system in the initial phases of a reverse engineering process. We discuss the benefits and limits of several predefined polymetric views we have implemented in our tool CodeCrawler. Moreover, based on clusters of different polymetric views, we have developed a methodology which supports and guides a software engineer in the first phases of a reverse engineering of a large software system. We have refined this methodology by repeatedly applying it on industrial systems and illustrate it by applying a selection of polymetric views to a case study.

404 citations

Proceedings ArticleDOI
01 May 2000
TL;DR: The state of the art in software testing is assessed, some future directions inSoftware testing are outlined, and some pointers to software testing resources are given.
Abstract: Testing is an important process that is performed to support quality assurance. Testing activities support quality assurance by gathering information about the nature of the software being studied. These activities consist of designing test cases, executing the software with those test cases, and examining the results produced by those executions. Studies indicate that more than fty percent of the cost of software development is devoted to testing, with the percentage for testing critical software being even higher. As software becomes more pervasive and is used more often to perform critical tasks, it will be required to be of higher quality. Unless we can nd ecient ways to perform eective testing, the percentage of development costs devoted to testing will increase signicantly. This report briefly assesses the state of the art in software testing, outlines some future directions in software testing, and gives some pointers to software testing resources.

404 citations

Proceedings ArticleDOI
04 Dec 2005
TL;DR: A descriptive review of the main approaches for carrying out simulation optimization, and some recent algorithmic and theoretical developments in simulation optimization research are sampled.
Abstract: We provide a descriptive review of the main approaches for carrying out simulation optimization, and sample some recent algorithmic and theoretical developments in simulation optimization research. Then we survey some of the software available for simulation languages and spreadsheets, and present several illustrative applications.

403 citations


Network Information
Related Topics (5)
User interface
85.4K papers, 1.7M citations
87% related
Cluster analysis
146.5K papers, 2.9M citations
86% related
Support vector machine
73.6K papers, 1.7M citations
86% related
The Internet
213.2K papers, 3.8M citations
85% related
Information system
107.5K papers, 1.8M citations
85% related
Performance
Metrics
No. of papers in the topic in previous years
YearPapers
20246
20235,523
202213,625
20213,455
20205,268
20195,982