23 research outputs found

    Мониторинг дефектов проектирования объектно-ориентированного программного обеспечения

    Get PDF
    Дефекты проектирования вносятся в программное обеспечение в процессе его сопровождения в результате невыполнения правил проектирования. Несмотря на то, что дефекты проектирования негативно влияют на сопровождаемость программного обеспечения, и должны устраняться, в некоторых случаях их внесение является лучшим проектным решением проблемы. В работе описываются графические представления, предназначенные для облегчения мониторинга дефектов проектирования. Определен каталог категорий, объединяющих дефекты проектирования по общности их истории, позволяющий упростить интерпретацию графических представлений. Показано что мониторинг с помощью визуализации позволяет быстро выделить прогрессирующие дефекты проектирования.Design flaws are introduced into software during its maintenance as a result of failure to comply with design rules. Despite the fact that defects in the design adversely affect the maintainability of software, and should be eliminated, in some cases, their introduction is the best design solution. The paper describes the graphical representations designed to facilitate the monitoring of design flaws. Catalog of categories is defined which combine defects in the design by their shared history and allows simplifying the interpretation of graphic representations. It is shown that by monitoring using visualization one can quickly identify progressing design flaws

    МЕТОД ДІАГНОСТИКИ ОБ’ЄКТНО-ОРІЄНТОВАНОГО ПРОГРАМНОГО ЗАБЕЗПЕЧЕННЯ

    Get PDF
     During software maintenance changes are introduced often in harsh terms and conditions of limited resources. As a result, its structure degraded and, consequently, it becomes difficult to understand and modify. This phenomenon is known as software decay and is extremely harmful, as tends to be unnoticed at first, but then grow with time. Therefore the problem of developing methods and diagnostics software is an issue.The purpose of the paper is to develop a method of object-oriented software diagnostic to detect design defects in the phase of their appearance and monitoring their development. For achieve a purpose following tasks are supplied and solved: develop a metamodel that enables to perform analysis of design defects history based on it; develop a set of graphics to facilitate the tracking of defects in various aspects; determine which tasks may be solved by studying graphic images.The essence of method of object-oriented software diagnosing is to monitor the design defects. The method is implemented by using the proposed meta-history of design flaws (DDHM - Design Flaws History Model) object-oriented software and multidimensional visualization of defects of the design elements at various levels of abstraction. In DDHM first defect is modeled as a separate entity, able to change their characteristics with time. Considered the following quantitative characteristics of the defect: the degree of deficiency, symptoms of defect intensity and average intensity of the defect symptoms.Analysis of graphic images give next opportunities:  highlight the most dangerous defects, a more efficient allocation of resources aimed at supporting the maintenance of software; identify restructuring - information on where and when the restructuring of the software necessary for understanding how and to some extent, why the structure of the software was modified; implement early detection of defects, using information on the development of defects from version to version, with maintenance engineers can diagnose the defect in the early stages of development and adjustment of working with maintenance, so as to prevent the need for restructuring in the future; determine the circumstances of the emergence and development of the defect - the modern tools of automation software life cycle, such as Microsoft Visual Studio Team System, store data about all the changes the source code, for example, who brought these changes and why, so it is possible to determine who, and because of what requirements made defect.To implement the method we developed diagnostics software SEM (Software Evolution Miner). При сопровождении программного обеспечения изменения зачастую вносятся в жестких условиях ограниченных ресурсов. В результате его структура деградирует и, следовательно, становится трудной в понимании. Предлагаемый метод диагностики объектно-ориентированного программного обеспечения позволяет выявлять дефекты проектирования на стадии их возникновения и контроля развития. Метод реализован с помощью предлагаемой метамодели истории дефектов проектирования (DDHM – Design Defect History Model) объектно-ориентированного программного обеспечения и многоаспектной визуализации дефектов проектирования элементов конструкции на различных уровнях абстракции. Анализ графического изображения позволяет выделять наиболее опасные дефекты, более эффективно распределять ресурсы, направленные на сопровождение программного обеспечения, определять реструктуризацию − информацию о том, где и когда переделано программное обеспечение, необходимое для понимания, каким образом и до какой степени, почему была изменена структура программного обеспечения, осуществлять раннее обнаружение дефектов, используя информацию о развитии дефектов от версии к версии, с помощью которой инженеры могут диагностировать дефекты на ранней стадии развития и адаптировать работы по сопровождению для предупредупреждения необходимости реструктуризации в будущем, выяснять обстоятельства возникновения и развития дефектов. Современные инструменты автоматизации жизненного цикла программного обеспечения, такие, как Microsoft Visual Studio Team System, хранят данные о всех изменениях исходного кода, например, кто внес изменения и почему. Для реализации метода разработано средство диагностики программного обеспечения SEM. Запропоновано метод діагностики об’єктно-орієнтованого програмного забезпечення, який дозволяє інженеру відстежувати еволюцію дефекту проектування і в результаті виявити найбільш небезпечні дефекти або дефекти на ранній стадії розвитку, які можуть стати небезпечними в майбутньому

    Visualizing defects in source code

    Get PDF
    Trabalho de investigação desenvolvido na Cranfield University. School of EngineeringTese de mestrado integrado. Engenharia Informática e Computação. Faculdade de Engenharia. Universidade do Porto. 201

    Supporting feature-level software maintenance

    Get PDF
    Software maintenance is the process of modifying a software system to fix defects, improve performance, add new functionality, or adapt the system to a new environment. A maintenance task is often initiated by a bug report or a request for new functionality. Bug reports typically describe problems with incorrect behaviors or functionalities. These behaviors or functionalities are known as features. Even in very well-designed systems, the source code that implements features is often not completely modularized. The delocalized nature of features makes maintaining them challenging. Since maintenance tasks are expressed in terms of features, the goal of this dissertation is to support software maintenance at the feature-level. We focus on two tasks in particular: feature location and impact analysis via feature coupling.;Feature location is the process of identifying the source code that implements a feature, and it is an essential first step to any maintenance task. There are many existing techniques for feature location that incorporate various types of analyses such as static, dynamic, and textual. In this dissertation, we recognize the advantages of leveraging several types of analyses and introduce a new approach to feature location based on combining dynamic analysis, textual analysis, and web mining algorithms applied to software. The use of web mining for feature location is a novel contribution, and we show that our new techniques based on web mining are significantly more effective than the current state of the art.;After using feature location to identify a feature\u27s source code, maintenance can be completed on that feature. Impact analysis should then be performed to revalidate the system and determine which other features may have been affected by the modifications. We define three feature coupling metrics that capture the relationship between features based on structural information, textual information, and their combination. Our novel feature coupling metrics can be used for impact analysis to quantify the strength of coupling between pairs of features. We performed three empirical studies on open-source software systems to assess the feature coupling metrics and established three major results. First, there is a moderate to strong statistically significant correlation between feature coupling and faults. Second, feature coupling can be used to correctly determine about half of the other features that would be affected by a change to a given feature. Finally, we found that the metrics align with developers\u27 opinions about pairs of features that are actually coupled

    Adaptive serious games for computer science education

    Get PDF
    Serious games have the potential to effectively engage students to learn, however, these games tend to struggle accommodating learners with diverse abilities and needs. Furthermore, customizing a serious game to the individual learner has historically required a great deal of effort on the part of subject matter experts, and is not always feasible for increasingly complex games. This thesis proposes the use of automatic methods to adapt serious programming games to learners' abilities. To understand the context of the problem, a survey was conducted of the serious programming game literature, which found that while many games exist, there has been very little consideration for the use of adaptation. Given the breadth of the existing serious programming game literature, a methodology was developed to support adaptation of existing games. To demonstrate the efficacy of this adaptive methodology in serious programming games, two case studies were conducted: 1) a study comparing adaptive and non-adaptive gameplay in the Gidget game, and 2) a study assessing non-adaptive gameplay, adaptive gameplay, and adaptive hints in the RoboBug game. The results from both case studies provide evidence to the need for adaptation in serious programming games, and illustrate how the adaptive methodology can be utilized to positively affect the engagement of learners and their ability to achieve learning outcomes

    Improving software engineering processes using machine learning and data mining techniques

    Get PDF
    The availability of large amounts of data from software development has created an area of research called mining software repositories. Researchers mine data from software repositories both to improve understanding of software development and evolution, and to empirically validate novel ideas and techniques. The large amount of data collected from software processes can then be leveraged for machine learning applications. Indeed, machine learning can have a large impact in software engineering, just like it has had in other fields, supporting developers, and other actors involved in the software development process, in automating or improving parts of their work. The automation can not only make some phases of the development process less tedious or cheaper, but also more efficient and less prone to errors. Moreover, employing machine learning can reduce the complexity of difficult problems, enabling engineers to focus on more interesting problems rather than the basics of development. The aim of this dissertation is to show how the development and the use of machine learning and data mining techniques can support several software engineering phases, ranging from crash handling, to code review, to patch uplifting, to software ecosystem management. To validate our thesis we conducted several studies tackling different problems in an industrial open-source context, focusing on the case of Mozilla

    Identification of new molecular targets and antibiotics as novel strategies against filarial infections : Characterization of lipid II biosynthesis in <em>Wolbachia</em> endobacteria

    Get PDF
    Wolbachia are obligate intracellular bacteria found in many arthropods and some filarial nematodes that are pathogenic in humans. The Wolbachia genomes are highly reduced, but encode proteins required for the synthesis of the peptidoglycan precursor lipid II. Recombinant proteins and purified Wolbachia membranes synthesize lipid I and II and these cell wall precursors are essential for Wolbachia cell division. It is unclear how lipid II is further processed and a peptidoglycan-like structure has not been detected. To provide insight into wolbachial lipid II processing, the putative penicillin-binding proteins (PBPs) PBP2 and PBP6a from Wolbachia endosymbionts of the filarial nematode Brugia malayi (wBm) were analyzed in this study. Also, the activity of AmiD and PBP3 from Wolbachia endosymbionts of Drosophila melanogaster (wMel) were characterized, two lipid II processing enzymes additionally present in genomes of Wolbachia residing in arthropods. Binding studies were performed to measure a potential interaction between the peptidoglycan-associated outer membrane lipoprotein (Pal) from wBm and lipid II as well as PBP2. To detect a putative peptidoglycan-like structure in Wolbachia, lipid II was labeled in Wolbachia from Aedes albopictus using dipeptide analogues. Moreover, an established cell-free Wolbachia culture was further studied regarding potential growth facilitating factors and impact of antibiotics. The results of the present study demonstrate PBP activity in dependence on functional serines of the active site motifs SXXK. PBPs are typically blocked by β-lactam antibiotics that bind to the serine of the highly conserved SXXK motif. Nevertheless, the PBPs were resistant to β-lactams. Contrary to their E. coli orthologs, all examined wolbachial PBPs encode additional SXXK motifs which might contribute to enzyme functionality and might explain β-lactam resistance. In silico analyses predicted that due to protein folding, β-lactams might not have access to all active site motifs. Therefore, in contrast to canonical systems like E. coli, these enzymes are not appropriate targets to deplete Wolbachia. AmiD showed zinc-dependent amidase activity and cleaved intact peptidoglycan, monomeric lipid II and additionally anhydromuropeptides, substrates that are generated by cleaved glycosidic bonds of glycan strands. The conservation of the capability of AmiD to cleave anhydromuropeptides gives a hint that at least insect Wolbachia may contain a peptidoglycan-like structure with connected glycan strands. Lipid II and PBP2 both interacted with the outer membrane protein Pal from wBm suggesting that lipid II and PBP2 are present in the Wolbachia periplasmic space. These results together with the active PBPs from wBm indicate that lipid II might be processed to a peptidoglycan-like structure also in Wolbachia residing in filarial nematodes. The dipeptide labeling provided visual evidence of a lipid II- containing structure in Wolbachia for the first time, which was absent in fosfomycin-treated cells with impaired lipid II synthesis. Moreover, fosfomycin led to an aberrant phenotype of cell-free Wolbachia resulting in enlarged cells. None of the other applied antibiotics including β- lactams showed an effect on morphology providing further evidence that Wolbachia are resistant to this class of antibiotics. In conclusion, the results of this study together with latest research findings regarding peptidoglycan in intracellular bacteria indicate that Wolbachia are not cell wall-less bacteria, but rather have a physical structure composed of lipid II that can interact with outer membrane proteins and that is necessary for coordinated cell division

    A phenomenographic study of students experiences of dimension

    Get PDF
    This study explored the experiences of dimension among young school children.\ud Dimension is a powerful mathematical construct that is rarely taught or researched\ud explicitly and not normally construed as something that is 'experienced'. The existing\ud literature showed that the notion of dimension could be investigated through various\ud perspectives: everyday life, scientific discourse, psychology, school curriculum and\ud teaching. From this exploration, I developed an orientation of what I might consider\ud to be an experience of dimension. A phenomenographic approach was followed, and\ud meanings of dimension were generated from 24 students during four situations. Data\ud were collected using clinical interviews accompanied with the design of tasks using\ud the software Elica, physical objects, the film Flatland, and the software Google\ud SketchUp in each of the situations respectively.\ud The meanings generated from the first three situations were compared and grouped\ud into theme categories. The aim of the fourth situation was to design an environment in\ud which we might witness experiences of dimension not observed before, by building\ud on preceding research on how modelling can foster the utility of mathematical\ud concepts. SketchUp and its dimensional tools helped the students to form situated\ud experiences about mathematical ideas relating to vectors and capacity. Dimensional\ud experience was categorised as Dimension as Action, Dimension as Material,\ud Dimension as Vector and Dimension as Capacity.\ud An analysis of the relationship between the categories pointed to the duality of the\ud passive or the dynamic way of experiencing dimension as well as looking within and\ud between dimensions. These characteristics of the dimensional experiences informed the notion of dimension in general as incorporating a dual nature, as an object but also\ud as a process. Conclusively, an examination of the four situations gave an insight into\ud what makes a window expressive both for the student as a means of 'seeing' the\ud phenomenon of dimension and for the researcher to 'see' how the student experiences\ud that phenomenon

    Reason and Representation in Scientific Simulation

    Get PDF
    This thesis is a study of scientific practice in computational physics. It is based on an 18 month period of ethnographic research at the Imperial College Applied Modelling and Computation Group. Using a theoretical framework drawn from practice theory, science studies, and historical epistemology, I study how simulations are developed and used in science. Emphasising modelling as a process, I explore how software provides a distinctive kind of material for doing science on computers and how images and writings of various kinds are folded into the research process. Through concrete examples the thesis charts how projects are devised and evolve and how they draw together materials and technologies into semi-stable configurations that crystallise around the objects of their concern, what Hans-Jorg Rheinberger dubbed “epistemic things”. The main pivot of the research, however, is the connection of practice-theoretical science studies with the philosophy of Gaston Bachelard, whose concept of “phenomenotechnique” facilitates a rationalist reading of scientific practice. Rather than treating reason as a singular logic or method, or as a faculty of the mind, Bachelard points us towards processes of change within actual scientific research, a dynamic reason immanent to processes of skilled engagement. Combining this study of reason with the more recent attention to things within research from materialist and semiotic traditions, I also revive a new sense for the term “representation”, tracing the multiple relationships and shifting identities and differences that are involved in representing. I thus develop a theory of simulation that implies a non-representationalist concept of representing and a non-teleological concept of reason
    corecore