Software intelligence

From Wikipedia, the free encyclopedia
Jump to: navigation, search

Software intelligence® (SI) refers to a set of skills, technologies, applications and practices, used by an organization, to acquire a better understanding of its software assets and software projects. Software intelligence® may also refer to the information which is collected during the process.

Common functions of software intelligence® technologies are cross-referencing, visual analytics, object browsing, source-code-specific search technologies (search for language-specific reserved words, strings, code lines, comments, literals and relevant synonyms), data and text mining (here a.k.a. mining software repositories), dead code analysis, source code optimization, change risk management, impact analysis, as well as predictive Level of Effort (LOE) reporting, complexity analysis and other methods of code understanding and scoping of change.

Software intelligence® often aims to support better business decision-making during the different stages of the development life cycle (or software development process).

Example of how Software Intelligence® can be used[edit]

Software intelligence® allows finding all locations where an identifier/variable of a specific name and/or type is used. Then following the touch point of this identifier/variable with other software elements such as identifiers, files, databases/tables/columns, static values, and further following the relationships between the parent object (such as program or class) and other objects and platforms. Formulating a graphical representation of the relationship between the affected software objects. And then generating an accurate level of effort report and risk management reports.

Software Intelligence® during the development life cycle[edit]

The ability to find, follow and understand touch points and paths between software elements and platforms, expedites the analysis and design phases, resulting in predictability, time saving and people focus to enhance the on-time and in-budget project delivery.

During the development phase, allows the technical and management team insight into the touch points and component interactions to ensure the design is being followed.

In the testing phase, expedite problem solving by instantly finding error messages and data elements causing the problem.

In the support phase, used to plan for future expansion, and find any problem that may arise with any of the components

See also[edit]


Software intelligence® is a registered mark of IN-COM Data Systems, Inc.