In software engineering and development, a software metric is a standard of measure of a degree to which a software system or process possesses some property. Even if a metric is not a measurement (metrics are functions, while measurements are the numbers obtained by the application of metrics), often the two terms are used as synonyms. Since quantitative measurements are essential in all sciences, there is a continuous effort by computer science practitioners and theoreticians to bring similar approaches to software development. The goal is obtaining objective, reproducible and quantifiable measurements, which may have numerous valuable applications in schedule and budget planning, cost estimation, quality assurance, testing, software debugging, software performance optimization, and optimal personnel task assignments.
Common software measurements include:
ABC Software Metric
Balanced scorecard
Bugs per line of code
Code coverage
Cohesion
Comment density
Connascent software components
Constructive Cost Model
Coupling
Cyclomatic complexity (McCabe's complexity)
Cyclomatic complexity density
Defect density - defects found in a component
Defect potential - expected number of defects in a particular component
Defect removal rate
DSQI (design structure quality index)
Function Points and Automated Function Points, an Object Management Group standard
Halstead Complexity
Instruction path length
Maintainability index
Source lines of code - number of lines of code
Program execution time
Program load time
Weighted Micro Function Points
Cycle time (software)
First pass yield
Corrective Commit Probability
As software development is a complex process, with high variance on both methodologies and objectives, it is difficult to define or measure software qualities and quantities and to determine a valid and concurrent measurement metric, especially when making such a prediction prior to the detail design. Another source of difficulty and debate is in determining which metrics matter, and what they mean.
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.
Le nombre cyclomatique, la complexité cyclomatique ou la mesure de McCabe est un outil de métrologie logicielle développé par Thomas McCabe en 1976 pour mesurer la complexité d'un programme informatique. Cette mesure reflète le nombre de décisions d'un algorithme en comptabilisant le nombre de « chemins » linéairement indépendants au travers d'un programme représenté sous la forme d'un graphe. La complexité cyclomatique d'un programme structuré est définie par : où : M = complexité cyclomatique ; E = le nombre d'arêtes du graphe ; N = le nombre de nœuds du graphe ; P = le nombre de composantes connexes du graphe.
En informatique et en particulier en génie logiciel, la qualité logicielle est une appréciation globale d'un logiciel, basée sur de nombreux indicateurs. La complétude des fonctionnalités, la correction et précision des résultats, la fiabilité, la tolérance de pannes, la facilité et la flexibilité de son utilisation, la simplicité, l'extensibilité, la compatibilité et la portabilité, la facilité de correction et de transformation, la performance, la cohérence et l'intégrité des informations qu'il contient sont tous des facteurs de qualité.
La ligne de code, ou ligne de code source (SLOC en anglais) est une métrique logicielle servant à mesurer la taille d’un programme informatique en dénombrant le nombre de lignes de son code source. Les lignes de code sont habituellement employées pour quantifier l'effort qui sera exigé pour développer un programme informatique, ainsi que pour estimer la valeur d'un logiciel produit. La ligne de code est un indicateur. Il est imparfait, et comporte des défauts. Cependant, c'est un élément, parmi d'autres, qui permet d'évaluer le coût d'un programme.
Ce projet transversal vise à expérimenter autour d'un cas d'étude choisi, les spécificités de « l'envers du sol ». Sur un site choisi, les étudiants seront invités à proposer un geste technique et arc
This course will cover the latest technologies, platforms and research contributions in the area of machine learning systems. The students
will read, review and present papers from recent venues acros
Explore les performances logicielles, couvrant les mesures, la latence, les techniques d'optimisation, et des exemples du monde réel comme Grand Theft Auto.
Met en lumière les gagnants du Jucker Price 1999 et du Bug de l'année 2000, soulignant l'importance des aspects humanistes et les risques associés aux complexités logicielles.
Déplacez-vous dans les principes fondamentaux de sécurité des logiciels, en mettant l'accent sur la détection des bogues, la sécurité de la mémoire et les stratégies d'atténuation.
The recent rise in interest in point clouds as an imaging modality has motivated standardization groups such as JPEG and MPEG to launch activities aiming at developing compression standards for point clouds. Lossy compression usually introduces visual arti ...
Springer2024
We present a two-level implementation of an infrastructure that allows performance maximization under a power-cap on multi-application environments with minimal user intervention. At the application level, we integrate BAR (Power Budget-Aware Runtime Sched ...
Low-level light detection with high spatial and timing accuracy is a growing area of interest by virtue of applications such as light detection and ranging (LiDAR), biomedical imaging, time-resolved Raman spectroscopy, and quantum applications. Single-phot ...