5 research outputs found
Applying information theory to software evolution
Although information theory has found success in disciplines, the literature
on its applications to software evolution is limit. We are still missing
artifacts that leverage the data and tooling available to measure how the
information content of a project can be a proxy for its complexity. In this
work, we explore two definitions of entropy, one structural and one textual,
and apply it to the historical progression of the commit history of 25 open
source projects. We produce evidence that they generally are highly correlated.
We also observed that they display weak and unstable correlations with other
complexity metrics. Our preliminary investigation of outliers shows an
unexpected high frequency of events where there is considerable change in the
information content of the project, suggesting that such outliers may inform a
definition of surprisal.Comment: 8 pages, 6 figures, submitted to the NLBSE2023 worksho
Escape from Winchester Mansion – Toward a Set of Design Principles to Master Complexity in IT Architectures
Although the management of complexity is a central task of CIOs and IT architects, in-depth examinations and the development of design theory in this area is, to the best of our knowledge, underrepresented in existing IS literature. Especially theory-based guidelines and information systems for the management of IT architecture complexity are missing. In a joint team of practitioners and researchers, we applied the action design research (ADR) method in order to tackle this class of problems, i.e., IT architecture complexity management. We derived a set of seven design principles (that guide the design of an information system that supports IT architects to manage IT architecture complexity), which we evaluated and enriched during multiple ‘building, intervention and evaluation’ cycles, according to ADR. In addition, we simultaneously implemented and evaluated a material artifact (i.e., a piece of software) for IT architecture complexity management
Recommended from our members
Information theory metric for assembly language
This paper presents a study of the distribution of assembly language instructions in two avionics software applications and the development of an information theoretic software complexity metric based on the study. The instructions were grouped into classes , e.g. load and store, arithmetic, jump, compare, etc. As expected the distribution of instruction classes over the modules was generally uniform and nearly three-fourths of the instructions were load, store, or jump instructions. The biggest surprise was that nearly one-half of the 320 different instructions were not used.
The assembly language complexity metric is based on the premise that programs with familiar instructions are much easier to understand and work with than programs with unfamiliar instructions. Familiarity was approximated by frequency of instruction use. The metric is similar to one developed by Berlinger, except we computed the information content per instruction class and the average information content per instruction while he summed the information content of the instructions. Maintenance programmers selected what they felt were the most difficult modules. Our metric gave the highest complexity values to most of these modules
Management des risques de fautes de conception liées aux technologies orientées objet pour leur utilisation dans les applications avioniques critiques
Les technologies orientées objet permettent de réduire les coûts de développement d'applications logicielles. Aussi, les fournisseurs d'applications avioniques critiques souhaitent pouvoir les utiliser. Pour cela, ils doivent au préalable démontrer leur maîtrise de ces technologies auprès des autorités de certification. Un ensemble de risques intrinsèques à ces technologies a été identifié dans un document élaboré par retour d'expérience. Dans nos travaux, nous présentons un processus de management des risques permettant de maîtriser les risques de fautes de conception liées aux technologies orientées objet. Il s'agit tout d'abord d'identifier de manière précise les risques de faute que l'on souhaite maîtriser, et leurs sources. Nous proposons pour cela des modèles spécifiques d'identification de risques. Nous définissons ensuite un ensemble de métriques spécifiques permettant l'estimation de ces risques. Nous avons notamment développé des métriques permettant d'intégrer le facteur de risque de la compréhension qu'un concepteur a des éléments de code contenu dans un programme orienté objet. Nous mettons ensuite en oeuvre de manière globale l'estimation des risques au moyen de réseaux Bayésiens alimentés par analyse statique du code. L'analyse de ces réseaux permet ensuite la production de règles de codage souples, adaptées et justifiées, apportant les garanties nécessaires à la certification. - Object-Oriented technologies could significantly reduce the development costs of software applications. Consequently, the suppliers of critical avionics applications are interested in using these technologies. For that purpose, they beforehand have to demonstrate their control of these technologies to the certification authorities. A set of intrinsic risks of these technologies was intuitively identified by feedback. In our works, we propose a risk management process allowing to control the design faults risks induced by the Object-Oriented technologies. \ud
We begin by identifying the risk and their sources. We propose in this way two specific models of risk identification.\ud
Then, we define a set of specific metrics in order to estimate these risks and their factors. We have particularly developed metrics allowing the integration of a key risk factor: the designer understanding of the elements of code contained in an object-oriented program. We estimate globally the fault risks by means of Bayesian Networks filled up with static analysis of the code.\ud
Finally, the networks analysis can provide flexible, adapted and justified guidelines, bringing necessary guarantees of the technologies control for the certification.\u