首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 46 毫秒
1.
ContextCode smells are indicators of poor coding and design choices that can cause problems during software maintenance and evolution.ObjectiveThis study is aimed at a detailed investigation to which extent problems in maintenance projects can be predicted by the detection of currently known code smells.MethodA multiple case study was conducted, in which the problems faced by six developers working on four different Java systems were registered on a daily basis, for a period up to four weeks. Where applicable, the files associated to the problems were registered. Code smells were detected in the pre-maintenance version of the systems, using the tools Borland Together and InCode. In-depth examination of quantitative and qualitative data was conducted to determine if the observed problems could be explained by the detected smells.ResultsFrom the total set of problems, roughly 30% percent were related to files containing code smells. In addition, interaction effects were observed amongst code smells, and between code smells and other code characteristics, and these effects led to severe problems during maintenance. Code smell interactions were observed between collocated smells (i.e., in the same file), and between coupled smells (i.e., spread over multiple files that were coupled).ConclusionsThe role of code smells on the overall system maintainability is relatively minor, thus complementary approaches are needed to achieve more comprehensive assessments of maintainability. Moreover, to improve the explanatory power of code smells, interaction effects amongst collocated smells and coupled smells should be taken into account during analysis.  相似文献   

2.

Background

Empirical evidence shows that dependency cycles among software components are pervasive in real-life software systems, although such cycles are known to be detrimental to software quality attributes such as understandability, testability, reusability, build-ability and maintainability.

Research goals

Can the use of extended object-oriented metrics make us better understand the relationships among cyclic related components and their defect-proneness?

Approach

First, we extend such metrics to mine and classify software components into two groups – the cyclic and the non-cyclic ones. Next, we have performed an empirical study of six software applications. Using standard statistical tests on four different hypotheses, we have determined the significance of the defect profiles of both groups.

Results

Our results show that most defects and defective components are concentrated in cyclic-dependent components, either directly or indirectly.

Discussion and conclusion

These results have important implications for software maintenance and system testing. By identifying the most defect-prone set in a software system, it is possible to effectively allocate testing resources in a cost efficient manner. Based on these results, we demonstrate how additional structural properties could be collected to understand component's defect proneness and aid decision process in refactoring defect-prone cyclic related components.  相似文献   

3.
Code and design smells are recurring design problems in software systems that must be identified to avoid their possible negative consequences on development and maintenance. Consequently, several smell detection approaches and tools have been proposed in the literature. However, so far, they allow the detection of predefined smells but the detection of new smells or smells adapted to the context of the analysed systems is possible only by implementing new detection algorithms manually. Moreover, previous approaches do not explain the transition from specifications of smells to their detection. Finally, the validation of the existing approaches and tools has been limited on few proprietary systems and on a reduced number of smells. In this paper, we introduce an approach to automate the generation of detection algorithms from specifications written using a domain-specific language. This language is defined from a thorough domain analysis. It allows the specification of smells using high-level domain-related abstractions. It allows the adaptation of the specifications of smells to the context of the analysed systems. We specify 10 smells, generate automatically their detection algorithms using templates, and validate the algorithms in terms of precision and recall on Xerces v2.7.0 and GanttProject v1.10.2, two open-source object-oriented systems. We also compare the detection results with those of a previous approach, iPlasma.  相似文献   

4.
Code smells are indicators of deeper design problems that may cause difficulties in the evolution of a software system. This paper investigates the capability of twelve code smells to reflect actual maintenance problems. Four medium-sized systems with equivalent functionality but dissimilar design were examined for code smells. Three change requests were implemented on the systems by six software developers, each of them working for up to four weeks. During that period, we recorded problems faced by developers and the associated Java files on a daily basis. We developed a binary logistic regression model, with “problematic file” as the dependent variable. Twelve code smells, file size, and churn constituted the independent variables. We found that violation of the Interface Segregation Principle (a.k.a. ISP violation) displayed the strongest connection with maintenance problems. Analysis of the nature of the problems, as reported by the developers in daily interviews and think-aloud sessions, strengthened our view about the relevance of this code smell. We observed, for example, that severe instances of problems relating to change propagation were associated with ISP violation. Based on our results, we recommend that code with ISP violation should be considered potentially problematic and be prioritized for refactoring.  相似文献   

5.

Context

Source code revision control systems contain vast amounts of data that can be exploited for various purposes. For example, the data can be used as a base for estimating future code maintenance effort in order to plan software maintenance activities. Previous work has extensively studied the use of metrics extracted from object-oriented source code to estimate future coding effort. In comparison, the use of other types of metrics for this purpose has received significantly less attention.

Objective

This paper applies machine learning techniques to unveil predictors of yearly cumulative code churn of software projects on the basis of metrics extracted from revision control systems.

Method

The study is based on a collection of object-oriented code metrics, XML code metrics, and organisational metrics. Several models are constructed with different subsets of these metrics. The predictive power of these models is analysed based on a dataset extracted from eight open-source projects.

Results

The study shows that a code churn estimation model built purely with organisational metrics is superior to one built purely with code metrics. However, a combined model provides the highest predictive power.

Conclusion

The results suggest that code metrics in general, and XML metrics in particular, are complementary to organisational metrics for the purpose of estimating code churn.  相似文献   

6.
This paper presents the results of an empirical study on the subjective evaluation of code smells that identify poorly evolvable structures in software. We propose use of the term software evolvability to describe the ease of further developing a piece of software and outline the research area based on four different viewpoints. Furthermore, we describe the differences between human evaluations and automatic program analysis based on software evolvability metrics. The empirical component is based on a case study in a Finnish software product company, in which we studied two topics. First, we looked at the effect of the evaluator when subjectively evaluating the existence of smells in code modules. We found that the use of smells for code evaluation purposes can be difficult due to conflicting perceptions of different evaluators. However, the demographics of the evaluators partly explain the variation. Second, we applied selected source code metrics for identifying four smells and compared these results to the subjective evaluations. The metrics based on automatic program analysis and the human-based smell evaluations did not fully correlate. Based upon our results, we suggest that organizations should make decisions regarding software evolvability improvement based on a combination of subjective evaluations and code metrics. Due to the limitations of the study we also recognize the need for conducting more refined studies and experiments in the area of software evolvability.
Casper LasseniusEmail:
  相似文献   

7.

Context

Maintainability has become one of the most essential attributes of software quality, as software maintenance has shown to be one of the most costly and time-consuming tasks of software development. Many studies reveal that maintainability is not often a major consideration in requirements and design stages, and software maintenance costs may be reduced by a more controlled design early in the software life cycle. Several problem factors have been identified as harmful for software maintainability, such as lack of upfront consideration of proper modularity choices. In that sense, the presence of crosscutting concerns is one of such modularity anomalies that possibly exert negative effects on software maintainability. However, to the date there is little or no knowledge about how characteristics of crosscutting concerns, observable in early artefacts, are correlated with maintainability.

Objective

In this setting, this paper introduces an empirical analysis where the correlation between crosscutting properties and two ISO/IEC 9126 maintainability attributes, namely changeability and stability, is presented.

Method

This correlation is based on the utilization of a set of concern metrics that allows the quantification of crosscutting, scattering and tangling.

Results

Our study confirms that a change in a crosscutting concern is more difficult to be accomplished and that artefacts addressing crosscutting concerns are found to be less stable later as the system evolves. Moreover, our empirical analysis reveals that crosscutting properties introduce non-syntactic dependencies between software artefacts, thereby decreasing the quality of software in terms of changeability and stability as well. These subtle dependencies cannot be easily detected without the use of concern metrics.

Conclusion

The correlation provides evidence that the presence of certain crosscutting properties negatively affects to changeability and stability. The whole analysis is performed using as target cases three software product lines, where maintainability properties are of upmost importance not only for individual products but also for the core architecture of the product line.  相似文献   

8.

Context

Software developers spend considerable effort implementing auxiliary functionality used by the main features of a system (e.g., compressing/decompressing files, encryption/decription of data, scaling/rotating images). With the increasing amount of open source code available on the Internet, time and effort can be saved by reusing these utilities through informal practices of code search and reuse. However, when this type of reuse is performed in an ad hoc manner, it can be tedious and error-prone: code results have to be manually inspected and integrated into the workspace.

Objective

In this paper we introduce and evaluate the use of test cases as an interface for automating code search and reuse. We call our approach Test-Driven Code Search (TDCS). Test cases serve two purposes: (1) they define the behavior of the desired functionality to be searched; and (2) they test the matching results for suitability in the local context. We also describe CodeGenie, an Eclipse plugin we have developed that performs TDCS using a code search engine called Sourcerer.

Method

Our evaluation consists of two studies: an applicability study with 34 different features that were searched using CodeGenie; and a performance study comparing CodeGenie, Google Code Search, and a manual approach.

Results

Both studies present evidence of the applicability and good performance of TDCS in the reuse of auxiliary functionality.

Conclusion

This paper presents an approach to source code search and its application to the reuse of auxiliary functionality. Our exploratory evaluation shows promising results, which motivates the use and further investigation of TDCS.  相似文献   

9.

Objectives

Warnings are an effective way to communicate hazard, yet they can also increase task demand when presented to operators involved in real-world tasks. Furthermore, in military-related tasks warnings are often given in codes to avoid counter-intelligence, which may foster additional working memory load.

Background

Adherence to warnings in the military domain is crucial to promote safety and reduce accidents and injuries. The empirical question arises as to how aspects of coding the warning may interfere with the primary task the individual is currently performing and vice versa.

Method

Six experimental conditions were designed to assess how warning-code storage format, response format, and increasing working memory demand (retention) affected both performance on the primary task and the rate of compliance to warnings, considered here as the secondary task.

Results

Results revealed that the combination of warning-code storage and response format affected compliance rate and the highest compliance occurred when warnings were presented as pictorials and responses were coded verbally. Contrary to the proposed hypotheses, warning storage format did not affect performance on the primary task, which was only affected by the level of working memory demand. Thus, the intra-modal warning storages did not interfere with the visual/spatial nature of the primary operational task. However, increase in working memory demand, by increasing the number of memorized warning codes, had an effect on both compliance rate and primary task performance.

Conclusions

Rather than warning code storage alone, it is the coupling of warning storage and response format that has the most significant effect on compliance.  相似文献   

10.

Goal

The use of an online game for learning in higher education aims to make complex theoretical knowledge more approachable. Permanent repetition will lead to a more in-depth learning.

Objective

To gain insight into whether and to what extent, online games have the potential to contribute to student learning in higher education.

Experimental setting

The online game was used for the first time during a lecture on Structural Concrete at Master’s level, involving 121 seventh semester students.

Methods

Pre-test/post-test experimental control group design with questionnaires and an independent online evaluation.

Results

The minimum learning result of playing the game was equal to that achieved with traditional methods. A factor called “joy” was introduced, according to [Nielsen, J. (2002): User empowerment and the fun factor. In Jakob Nielsen’s Alertbox, July 7, 2002. Available from http://www.useit.com/alertbox/20020707.html.], which was amazingly high.

Conclusion

The experimental findings support the efficacy of game playing. Students enjoyed this kind of e-learning.  相似文献   

11.

Background

We recently demonstrated the efficacy and feasibility of a novel CD-ROM based cognitive-behavioral multi-media self-help intervention for the treatment of bulimia nervosa. What is not known in CD-ROM treatments is how to best to deliver and support such packages in clinical practice. In particular, it is of great importance to identify to what extent such packages can be offered stand alone, and to what extent additional support from a practitioner is required.

Objective

The aim of the present study was to examine whether the addition of therapist support to the CD-ROM intervention would improve treatment uptake, adherence and outcome.

Method

Two cohorts of patients with full or partial bulimia nervosa referred to a catchment area based eating disorder service were offered an eight session CD-ROM-based cognitive-behavioral self-help treatment (“Overcoming Bulimia”). The first cohort received minimal guidance only and the second cohort were offered three brief focused support sessions with a therapist. The two cohorts were compared on treatment uptake, adherence and outcome.

Results

Patients in both groups improved significantly. There were no significant differences between the two groups in terms of treatment uptake, adherence or outcome, except that the therapist guidance group more often achieved remission from excessive exercise at follow-up.

Discussion

These findings provide further support for the acceptability and efficacy of the CD-ROM intervention for bulimia nervosa. Brief focused therapist guidance did not confer any significant additional benefits. This result has important implications for the widespread adoption of such approaches.  相似文献   

12.

Background

Systematic literature reviews and systematic mapping studies are becoming increasingly common in software engineering, and hence it becomes even more important to better understand the reliability of such studies.

Objective

This paper presents a study of two systematic mapping studies to evaluate the reliability of mapping studies and point out some challenges related to this type of study in software engineering.

Method

The research is based on an in-depth case study of two published mapping studies on software product line testing.

Results

We found that despite the fact that the two studies are addressing the same topic, there are quite a number of differences when it comes to papers included and in terms of classification of the papers included in the two mapping studies.

Conclusions

From this we conclude that although mapping studies are important, their reliability cannot simply be taken for granted. Based on the findings we also provide four conjectures that further research has to address to make secondary studies (systematic mapping studies and systematic literature reviews) even more valuable to both researchers and practitioners.  相似文献   

13.
14.

Background

Numerous studies have compared the postures and muscular activities induced by the various input devices available. To the authors' knowledge, no studies have yet compared upper body posture and movement, sEMG activity and muscle co-contractions induced by use of a mouse or of a touchpad.

Objective

The aim of this study was to compare posture, joint excursion and sEMG activity when using a laptop equipped with a mouse or a touchpad.

Methods

Trunk and upper arm posture, ranges of motion and muscle activities were measured in ten subjects during two standardized tasks.

Results

Mouse use induced larger shoulder abduction than touchpad use. On the other hand, when a touchpad was used, the upper arm joints were bound and fixed to a greater extent than during mouse use. Touchpad users are forced to maintain a more static posture. The upper arm electromyography results clearly indicate that touchpad use requires more stabilization than mouse use.

Conclusion

Motor tasks executed by means of the mouse allow a greater range of motions and reduce the biomechanical stress thanks to the greater postural mobility, even though the posture is less neutral. The results of our study tend to suggest that an external mouse should be preferred to the touchpad by frequent users of laptops.

Relevance to industry

This study is a suggestion for IT companies to give customers information of possible advantages using an external mouse. Furthermore our data highlight the importance of providing a mouse to all laptop users in order to reduce biomechanical risks.  相似文献   

15.

Objective

This study tested the relationship between individual differences and Situation Awareness (SA) during training in a navigation simulator.

Background

Simulators have become an important tool in the training and education of maritime personnel with a view to improving decisions and performance. There are a few, inconclusive empirical studies that have focused on mapping personality characteristics and their link to the ability to generate and maintain SA during simulator training.

Method

Thirty-six first-year students from the Royal Norwegian Navy Officer Candidate School participated in the study. SA was measured using both subjective and observer ratings.

Results

The results indicated that low scores on Neuroticism and high scores on Extraversion and Conscientiousness (resilient personality type) predicted both subjective and observer-rated SA. Furthermore, participants with high SA were able to modulate their Heart Rate Variability (HRV), with suppression of HRV during navigation training as well showing recovery of HRV.

Application

The potential applications of this research include the assessment of personality differences as a tool in selecting navigators, and the use of HRV as an objective index of adaptability to environmental demands.  相似文献   

16.

Background

The increasing use of new technologies and virtual communication involving personal computers (PCs), tablets and mobile phones are causing changes in individuals’ daily habits and behavior. We report the case of an individual with social phobia who developed a dependency on communication through virtual environments (i.e., nomophobia), and used a PC as a form of relating to the outside world to reduce stress and to avoid direct social relations. Nomophobia refers to the discomfort or anxiety caused by the non-availability of a mobile phone, PC or any another virtual communication device. Social phobia is described as an anxiety disorder of chronic evolution.

Objective

To study nomophobia as a manifest behavior that might serve as an indication of a possible anxiety disorder.

Methodology

The treatment consisted of the use of medication, cognitive-behavioral therapy (CBT) and the application of evaluation tools (interviews, scales, inventories and questionnaires).

Results

The individual responded satisfactorily to medication and CBT treatment, which reduced his time using the PC and increased his exposure to real-life situations.

Conclusion

Nomophobic behavior produces changes in daily habits and can reveal other aspects to be investigated, such as the presence of comorbid mental disorders.  相似文献   

17.

Purpose

To quantify the effect of unstable shoe wearing on muscle activity and haemodynamic response during standing.

Methods

Thirty volunteers were divided into 2 groups: the experimental group wore an unstable shoe for 8 weeks, while the control group used a conventional shoe for the same period. Muscle activity of the medial gastrocnemius, tibialis anterior, rectus femoris and biceps femoris and venous circulation were assessed in quiet standing with the unstable shoe and barefoot.

Results

In the first measurement there was an increase in medial gastrocnemius activity in all volunteers while wearing the unstable shoe. On the other hand, after wearing the unstable shoe for eight weeks these differences were not verified. Venous return increased in subjects wearing the unstable shoe before and after training.

Conclusions

The unstable shoe produced changes in electromyographic characteristics which were advantageous for venous circulation even after training accommodation by the neuromuscular system.  相似文献   

18.

Introduction

Floor layers have high rates of musculoskeletal disorders yet few studies have examined their work exposures. This study used observational methods to describe physical exposures within floor laying tasks.

Methods

We analyzed 45 videos from 32 floor layers using Multimedia-Video Task Analysis software to determine the time in task, forces, postures, and repetitive hand movements for installation of four common flooring materials. We used the WISHA checklists to define exposure thresholds.

Results

Most workers (91%) met the caution threshold for one or more exposures. Workers showed high exposures in multiple body parts with variability in exposures across tasks and for different materials. Prolonged exposures were seen for kneeling, poor neck and low back postures, and intermittent but frequent hand grip forces.

Conclusions

Floor layers experience prolonged awkward postures and high force physical exposures in multiple body parts, which probably contribute to their high rates of musculoskeletal disorders.  相似文献   

19.

Objectives

We aimed to investigate the relationship of task variation during dental work history with pinch grip strength among dentists.

Methods

We measured pinch grip strength among 295 female Finnish dentists aged 45–63 years. Variation in dental work tasks during work history was empirically defined by cluster analysis. Three clusters of task variation emerged: low (most work time in restoration treatment/endodontics), moderate (about 50% in the former and 50% in prosthodontics/periodontics/surgery), and high (variable tasks including administrative duties). Hand radiographs were examined for the presence of OA in the wrist and each joint of the 1–3rd fingers. Information on hand-loading leisure-time activities, and joint pain was obtained by questionnaire. Glove size was used as a proxy for hand size. BMI (kg/m2) was based on measured weight and self-reported height.

Results

Dentists with low variation of work task history had an increased risk of low pinch grip strength in the right hand (OR 2.3, 95% CI 1.2–4.3), but not in the left (1.13, 0.62–2.08), compared to dentists with high task variation, independent of age, hand size, hand-loading leisure-time activities, BMI and symptomatic hand OA.

Conclusion

The dentists with the most hand-loading tasks were at an increased risk of low pinch grip strength, independent of e.g. symptomatic hand OA. It is advisable among dentists to perform as diverse work tasks as possible to reduce the risk of decreased pinch grip strength.  相似文献   

20.

Aims

Do college students’ ratings of a professor’s teaching effectiveness suggest that a professor’s teaching improves with time? Does anything predict which instructors receive the highest ratings or improve the fastest? And, importantly, do the correlates of change differ across face-to-face and online courses?

Methods

I used data from 10,392 classes taught by 1120 instructors across three years and fit a taxonomy of multilevel growth models to examine whether students’ ratings of teaching effectiveness (SETEs) changed across time, whether differences in average SETEs correlated with growth, and whether online vs. face-to-face, tenure, discipline, course level, sex, or minority status affected these estimates.

Results

SETEs remained relatively stable across time and teachers, although analyses uncovered a statistically significant, negative correlation between initial status and growth. Instructors starting with lower SETEs improved the fastest. These findings held across online and face-to-face instruction modes. However, in face-to-face classes, minority instructors received significantly lower average SETEs. This difference did not occur in online classes. No other predictors showed statistically significant effects. Finally, considerable SETE variance remained unexplained even when including the full predictor set in the model.

Discussion

These findings reveal that professors’ SETEs can improve. Additionally, they indicate that patterns of change in teaching effectiveness do not differ generally across online and face-to-face instruction modes. However, the results showed that minority teachers in face-to-face but not online classes received lower evaluations than their majority counterparts. Additional research should seek to understand what leads to SETE differences across minority and majority groups in face-to-face classes but not online classes.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号