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
01 Jan 2005
TL;DR: The design, and some details of the implementation, of the JUNG architecture are described, and illustrative examples of its use are provided.
Abstract: The JUNG (Java Universal Network/Graph) Framework is a free, open-source software library that provides a common and extendible language for the manipulation, analysis, and visualization of data that can be represented as a graph or network. It is written in the Java programming language, allowing JUNG-based applications to make use of the extensive built-in capabilities of the Java Application Programming Interface (API), as well as those of other existing third-party Java libraries. We describe the design, and some details of the implementation, of the JUNG architecture, and provide illustrative examples of its use.

305 citations

Book
17 Jun 2005
TL;DR: The Electrical Machine Analysis Using Finite Elements (EMFAE) as discussed by the authors provides tools for the analysis and design of any type of electrical machine by integrating mathematical/numerical techniques with analytical and design methodologies.
Abstract: From the fan motor in your PC to precision control of aircraft, electrical machines of all sizes, varieties, and levels of complexity permeate our world. Some are very simple, while others require exacting and application-specific design. Electrical Machine Analysis Using Finite Elements provides the tools necessary for the analysis and design of any type of electrical machine by integrating mathematical/numerical techniques with analytical and design methodologies.Building successively from simple to complex analyses, this book leads you step-by-step through the procedures and illustrates their implementation with examples of both traditional and innovative machines. Although the examples are of specific devices, they demonstrate how the procedures apply to any type of electrical machine, introducing a preliminary theory followed by various considerations for the unique circumstance. The author presents the mathematical background underlying the analysis, but emphasizes application of the techniques, common strategies, and obtained results. He also supplies codes for simple algorithms and reveals analytical methodologies that universally apply to any software program.With step-by-step coverage of the fundamentals and common procedures, Electrical Machine Analysis Using Finite Elements offers a superior analytical framework that allows you to adapt to any electrical machine, to any software platform, and to any specific requirements that you may encounter.

305 citations

Proceedings ArticleDOI
01 May 2010
TL;DR: This work analyzes forty open-source software projects written in C to answer the following questions: How does program size influence variability?
Abstract: Over 30 years ago, the preprocessor cpp was developed to extend the programming language C by lightweight metaprogramming capabilities. Despite its error-proneness and low abstraction level, the preprocessor is still widely used in present-day software projects to implement variable software. However, not much is known about how cpp is employed to implement variability. To address this issue, we have analyzed forty open-source software projects written in C. Specifically, we answer the following questions: How does program size influence variability? How complex are extensions made via cpp's variability mechanisms? At which level of granularity are extensions applied? Which types of extension occur? These questions revive earlier discussions on program comprehension and refactoring in the context of the preprocessor. To provide answers, we introduce several metrics measuring the variability, complexity, granularity, and types of extension applied by preprocessor directives. Based on the collected data, we suggest alternative implementation techniques. Our data set is a rich source for rethinking language design and tool support.

305 citations

Journal ArticleDOI
TL;DR: This research proposes an automated measuring system for parts having a freeform surface that consists of a laser scanning device and setup fixtures that can provide proper location and orientation for the part to be measured.
Abstract: Recently, laser scanners have been used more often for inspection and reverse engineering in industry, such as for motors, electronic products, dies and molds. However, due to the lack of efficient scanning software, laser scanners are usually manually operated. Therefore, the tasks that involve inspection and reverse engineering processes are very expensive. In this research, we propose an automated measuring system for parts having a freeform surface. In order to automate a measuring process, appropriate hardware system as well as software modules are required. The hardware system consists of a laser scanning device and setup fixtures that can provide proper location and orientation for the part to be measured. The software modules generate optimal scan plans so that the scanning operation can be performed accordingly. In the scan planning step, various scanning parameters are considered in the generation of optimal scan paths, such as the view angle, depth of field, the length of the stripe, and occlusion. In the scanning step, the generated scan plans are downloaded to the industrial laser scanner and the point data are captured automatically. The measured point data sets are registered automatically and the quality of point data is evaluated by checking the difference between the CAD model and the measured data. To demonstrate an automated measuring system, a motorized rotary table with two degrees of freedom and a CNC-type laser scanner with four degrees of freedom are used.

305 citations

01 Jan 2008
TL;DR: In this article, the authors present a survey of static analysis with abstract domains, model checking, and bounded model checking techniques for verification of software quality and correctness, highlighting their differences when applied to practical problems.
Abstract: The quality and the correctness of software are often the greatest concern in electronic systems. Formal verification tools can provide a guarantee that a design is free of specific flaws. This paper surveys algorithms that perform automatic static analysis of software to detect programming errors or prove their absence. The three techniques considered are static analysis with abstract domains, model checking, and bounded model checking. A short tutorial on these techniques is provided, highlighting their differences when applied to practical problems. This paper also surveys tools implementing these techniques and describes their merits and shortcomings.

303 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