1. |
- Heander, Lo, et al.
(författare)
-
Design of Flexible Code Block Comparisons to Improve Code Review of Refactored Code
- 2024
-
Ingår i: Programming '24: Companion Proceedings of the 8th International Conference on the Art, Science, and Engineering of Programming. - 9798400706349 ; , s. 57-67
-
Konferensbidrag (refereegranskat)abstract
- Code review occupies a significant amount of developers’ work time and is an established practice in modern software development. Despite misaligments between users’ goals and the code review tools and processes pointed out by recent research, the code review tooling has largely stayed the same since the early 90s. Improving these tools, even slightly, has the potential for a large impact spread out over time and the large developer community. In this paper, we use the Double Diamond design process to work together with a team of industry practitioners to find, refine, prototype, and evaluate ways to make it easier to compare refactored code blocks and find previously hard-to-see changes in them.The results show that a flexible comparison modal integrated into Gerrit could reduce the mental load of code review on refactored code. Potentially, it could also have effects on how code is written by no longer discouraging refactoring due to it complicating the review. The user interface created in this collaborative manner was also intuitive enough for all of the participants to be able to use itwithout any hints or instructions.
|
|
2. |
|
|
3. |
|
|
4. |
- Chen, Steven, et al.
(författare)
-
User-Centric Study and Enhancement of Python Static Code Analysers
- 2023
-
Ingår i: Proceedings of the 34th Annual Workshop of the Psychology of Programming Interest Group.
-
Konferensbidrag (refereegranskat)abstract
- Despite the growing integration of code analysis tools into developer workflows, usability challengespersist in many aspects. Previous research, primarily focused on static languages and professional developers, has largely overlooked the needs of novice developers and non-static languages like Python.In this paper, we investigate the experiences of novice Python programmers with static code analysistools. We aim to understand how these novices interact with and perceive these tools, with a focus onidentifying usability pain points. To this end, we conducted initial user research with a survey followedby interviews. The insights derived from these studies were used to develop an enhanced version of thePylint extension to Visual Studio Code, incorporating additional quick-fixes to improve the user experience connected to configuration of static analysis tools. The developed prototype extension was finallyevaluated in a user study. The results from the interviews and surveys suggest that false positives, otherwise reported as a dominant cause of usability issues with code analysis, may not be as dominant fornovice users who may focus on other aspects and not challenge the code analysis results. In addition,the results from the evaluation give early input on one possible direction for an enhanced Python codeanalyser interaction focused on novices.
|
|
5. |
- Church, Luke, et al.
(författare)
-
Breaking down and making up - a lens for conversing with compilers
- 2021
-
Ingår i: Proceedings of the 32nd Annual Workshop of the Psychology of Programming Interest Group.
-
Konferensbidrag (refereegranskat)abstract
- This paper proposes a ‘tool for thinking with’: that we can describe the interaction between people and computers, and especially people and developer tools, as a form of conversation. We outline this perspective, construct a work in progress analytical frame, and use it to talk about a couple of different examples and draw implications for future work.
|
|
6. |
- Church, Luke, et al.
(författare)
-
My Space, Our Space, Their Space: a First Glance at Developers' Experience of Spaces
- 2023
-
Ingår i: Proceedings of the 9th Edition of the Programming Experience Workshop. - 9798400707551 ; , s. 48-53
-
Konferensbidrag (refereegranskat)abstract
- We report on an investigation into the nature of the experience that developers have with the spaces in which they work and live based on the reflections of the authors. We describe a few aspects of the structure of developers' experience around the malleability, ownership and control of the spaces and the emotions they induce, and consider what this may mean for future research.
|
|
7. |
- Church, Luke, et al.
(författare)
-
Probes and Sensors: The Design of Feedback Loops for Usability Improvements
- 2021
-
Ingår i: Proceedings of Psychology of Programming Interest Group Annual Conference 2019. ; , s. 124-137
-
Konferensbidrag (refereegranskat)abstract
- The importance of user-centric design methods in the design of programming tools is now well accepted. These methods depend on creating a feedback loop between the designers and their users, providing data about developers, their needs and behaviour gathered through various means. These include controlled experiments, field observations, as well as analytical frameworks. However, whilst there have been a number of experiments detailed, quantitative data is rarely used as part of the design process. Part of the reason for this might be that such feedback loops are hard to design and use in practice. Still, we believe there is potential in this approach and opportunities in gathering this kind of ‘big data’. In this paper, we sketch a framework for reasoning about these feedback loops - when data gathering may make sense and for how to incorporate the results of such data gathering into the programming tool design process. We illustrate how to use the framework on two case studies and outline some of the challenges in instrumentation and in knowing when and how to act on signals.
|
|
8. |
- Coppo, Rosanna, et al.
(författare)
-
Risk factors for progression in children and young adults with IgA nephropathy : an analysis of 261 cases from the VALIGA European cohort
- 2017
-
Ingår i: Pediatric nephrology (Berlin, West). - : Springer Science and Business Media LLC. - 0931-041X .- 1432-198X. ; 32:1, s. 139-150
-
Tidskriftsartikel (refereegranskat)abstract
- There is a need for early identification of children with immunoglobulin A nephropathy (IgAN) at risk of progression of kidney disease. Data on 261 young patients [age < 23 years; mean follow-up of 4.9 (range 2.5-8.1) years] enrolled in VALIGA, a study designed to validate the Oxford Classification of IgAN, were assessed. Renal biopsies were scored for the presence of mesangial hypercellularity (M1), endocapillary hypercellularity (E1), segmental glomerulosclerosis (S1), tubular atrophy/interstitial fibrosis (T1-2) (MEST score) and crescents (C1). Progression was assessed as end stage renal disease and/or a 50 % loss of estimated glomerular filtration rate (eGFR) (combined endpoint) as well as the rate of renal function decline (slope of eGFR). Cox regression and tree classification binary models were used and compared. In this cohort of 261 subjects aged < 23 years, Cox analysis validated the MEST M, S and T scores for predicting survival to the combined endpoint but failed to prove that these scores had predictive value in the sub-group of 174 children aged < 18 years. The regression tree classification indicated that patients with M1 were at risk of developing higher time-averaged proteinuria (p < 0.0001) and the combined endpoint (p < 0.001). An initial proteinuria of ae0.4 g/day/1.73 m(2) and an eGFR of < 90 ml/min/1.73 m(2) were determined to be risk factors in subjects with M0. Children aged < 16 years with M0 and well-preserved eGFR (> 90 ml/min/1.73 m(2)) at presentation had a significantly high probability of proteinuria remission during follow-up and a higher remission rate following treatment with corticosteroid and/or immunosuppressive therapy. This new statistical approach has identified clinical and histological risk factors associated with outcome in children and young adults with IgAN.
|
|
9. |
- Couderc, Noric, et al.
(författare)
-
Classification-based Static Collection Selection for Java: Effectiveness and Adaptability
- 2023
-
Ingår i: EASE '23: Proceedings of the 27th International Conference on Evaluation and Assessment in Software Engineering. - 9798400700446 ; , s. 111-120
-
Konferensbidrag (refereegranskat)abstract
- Carefully selecting the right collection datastructure can significantly improve the performance of a Java program. Unfortunately, the performance impact of a certain collection selection can be hard to estimate.To assist developers there are tools that recommend collections to use based on static and/or dynamic information about a program. The majority of existing collection selection tools for Java (e.g., CoCo, CollectionSwitch) pick their selections dynamically, which means that they must trade off sophistication in their selection algorithm against its run time overhead.For static collection selection, the Brainy tool has demonstrated that complex, machine-dependent models can produce substantial performance improvements, albeit only for C++ so far.In this paper, we port Brainy from C++ to Java, and evaluate its effectiveness for 5 benchmarks from the DaCapo benchmark suite. We compare it against the original program, but also to a variant of a brute-force approach to collection selection, which serves as our ground truth for optimal performance. Our results show that in four benchmarks out of five, our ground truth and the original program are similar. In one case, the ground truth shows an optimization yielding 15% speedup was available, but our port did not find this substantial optimization. We find that the port is more efficient but less effective than the ground truth, can easily adapt to new hardware architectures, and incorporate new datastructures with at most a few hours of human effort. We detail challenges that we encountered porting the Brainy approach to Java, and list a number of insights and directions for future research.
|
|
10. |
- Couderc, Noric, et al.
(författare)
-
JBrainy: Micro-benchmarking Java Collections with Interference (Work in Progress Paper)
- 2020
-
Ingår i: Proceedings of the 11th ACM/SPEC international conference on Performance Engineering. - New York, NY, USA : ACM. - 9781450371094 ; , s. 42-45
-
Konferensbidrag (refereegranskat)abstract
- Software developers use collection data structures extensively andare often faced with the task of picking which collection to use.Choosing an inappropriate collection can have major negativeimpact on runtime performance. However, choosing the right collectioncan be difficult since developers are faced with many possibilities,which often appear functionally equivalent. One approachto assist developers in this decision-making process is to microbenchmarkdatastructures in order to provide performance insights. In this paper, we present results from experiments on Java collections(maps, lists, and sets) using our tool JBrainy, which synthesisesmicro-benchmarks with sequences of random method calls.We compare our results to the results of a previous experiment onJava collections that uses a micro-benchmarking approach focusedon single methods. Our results support previous results for lists, inthat we found ArrayList to yield the best running time in 90% ofour benchmarks. For sets, we found LinkedHashSet to yield thebest performance in 78% of the benchmarks. In contrast toprevious results, we found TreeMap and LinkedHashMap to yield betterruntime performance than HashMap in 84% of cases.
|
|
11. |
- Couderc, Noric, et al.
(författare)
-
Performance Analysis with Bayesian Inference
- 2023
-
Ingår i: 2023 IEEE/ACM 45th International Conference on Software Engineering: New Ideas and Emerging Results (ICSE-NIER). - 9798350300390 - 9798350300406
-
Konferensbidrag (refereegranskat)abstract
- Statistics are part of any empirical science, and performance analysis is no exception. However, for non-statisticians, picking the right statistical tool to answer a research question can be challenging; each statistical tool comes with a set of assumptions, and it is not clear to researchers what happens when those assumptions are violated. Bayesian statistics offers a framework with more flexibility and with explicit assumptions. In this paper, we present a method to analyse benchmark results using Bayesian inference. We demonstrate how to perform a Bayesian analysis of variance (ANOVA) to estimate what factors matter most for performance, and describe how to investigate what factors affect the impact of optimizations. We find the Bayesian model more flexible, and the Bayesian ANOVA’s output easier to interpret.
|
|
12. |
- Dalin, Frida, 1984-, et al.
(författare)
-
Clinical and immunological characteristics of Autoimmune Addison's disease : a nationwide Swedish multicenter study
- 2017
-
Ingår i: Journal of Clinical Endocrinology and Metabolism. - : Oxford University Press. - 0021-972X .- 1945-7197. ; 102:2, s. 379-389
-
Tidskriftsartikel (refereegranskat)abstract
- CONTEXT: Studies on clinical and immunological features of Autoimmune Addison's disease (AAD) are needed to understand the disease burden and increased mortality.OBJECTIVE: To provide upgraded data on autoimmune comorbidities, replacement therapy, autoantibody profiles and cardiovascular risk factors.DESIGN, SETTING AND PARTICIPANTS: Cross sectional, population-based study. 660 AAD patients were included utilizing the Swedish Addison Registry (SAR) 2008-2014. When analyzing cardiovascular risk factors, 3,594 individuals from the population-based survey in Northern Sweden, MONICA (MONItoring of Trends and Determinants of CArdiovascular Disease), served as controls.MAIN OUTCOME MEASURE: Prevalence of autoimmune comorbidities and cardiovascular risk factors. Autoantibodies against 13 autoantigens were determined.RESULTS: Sixty percent of the SAR cohort consisted of females. Mean age at diagnosis was significantly higher for females than for males (36.8 vs. 31.1 years). The proportion of 21-hydroxylase autoantibody positive patients was 83% and 62% of patients had one or more associated autoimmune diseases, more frequently coexisting in females (p<0.0001). AAD patients had lower BMI (p<0.0001) and prevalence of hypertension (p=0.027) compared with controls. Conventional hydrocortisone tablets were used by 89% of patients; with the mean dose 28.1±8.5 mg/day. The mean hydrocortisone equivalent dose normalized to body surface was 14.8±4.4 mg/m(2)/day. Higher hydrocortisone equivalent dose was associated with higher incidence of hypertension (p=0.046).CONCLUSIONS: Careful monitoring of AAD patients is warranted to detect associated autoimmune diseases. Contemporary Swedish AAD patients do not have increased prevalence of overweight, hypertension, T2DM or hyperlipidemia. However, high glucocorticoid replacement doses may be a risk factor for hypertension.
|
|
13. |
- de Jonge, Maartje, et al.
(författare)
-
Natural and Flexible Error Recovery for Generated Modular Language Environments
- 2012
-
Ingår i: ACM Transactions on Programming Languages and Systems. - : Association for Computing Machinery (ACM). - 1558-4593 .- 0164-0925. ; 34:4
-
Tidskriftsartikel (refereegranskat)abstract
- Integrated Development Environments (IDEs) increase programmer productivity, providing rapid, interactive feedback based on the syntax and semantics of a language. Unlike conventional parsing algorithms, scannerless generalized-LR parsing supports the full set of context-free grammars, which is closed under composition, and hence can parse languages composed from separate grammar modules. To apply this algorithm in an interactive environment, this article introduces a novel error recovery mechanism. Our approach is language independent, and relies on automatic derivation of recovery rules from grammars. By taking layout information into consideration it can efficiently suggest natural recovery suggestions.
|
|
14. |
- de Jonge, Maartje, et al.
(författare)
-
Natural and flexible error recovery for generated parsers
- 2010
-
Ingår i: Software Language Engineering : Second International Conference, SLE 2009, Denver, CO, USA, October 5-6, 2009, Revised Selected Papers - Second International Conference, SLE 2009, Denver, CO, USA, October 5-6, 2009, Revised Selected Papers. - Berlin, Heidelberg : Springer Berlin Heidelberg. - 0302-9743 .- 1611-3349. - 9783642121074 - 9783642121067 ; 5969, s. 204-223
-
Bokkapitel (refereegranskat)abstract
- Parser generators are an indispensable tool for rapid language devel- opment. However, they often fall short of the finesse of a hand-crafted parser, built with the language semantics in mind. One area where generated parsers have pro- vided unsatisfactory results is that of error recovery. Good error recovery is both natural, giving recovery suggestions in line with the intention of the programmer; and flexible, allowing it to be adapted according to language insights and lan- guage changes. This paper describes a novel approach to error recovery, taking into account not only the context-free grammar, but also indentation usage. We base our approach on an extension of the SGLR parser that supports fine-grained error recovery rules and can be used to parse complex, composed languages. We take a divide-and-conquer approach to error recovery: using indentation, erro- neous regions of code are identified. These regions constrain the search space for applying recovery rules, improving performance and ensuring recovery sug- gestions local to the error. As a last resort, erroneous regions can be discarded. Our approach also integrates bridge parsing to provide more accurate suggestions for indentation-sensitive language constructs such as scopes. We evaluate our ap- proach by comparison with the JDT Java parser used in Eclipse.
|
|
15. |
- Dura, Alexandru, et al.
(författare)
-
JavaDL: Automatically Incrementalizing Java Bug Pattern Detection
- 2021
-
Ingår i: Proceedings of the ACM on Programming Languages. - : Association for Computing Machinery (ACM). - 2475-1421. ; 5:OOPSLA
-
Tidskriftsartikel (refereegranskat)abstract
- Static checker frameworks support software developers by automatically discovering bugs that fit general-purpose bug patterns. These frameworks ship with hundreds of detectors for such patterns and allow developers to add custom detectors for their own projects. However, existing frameworks generally encode detectors in imperative specifications, with extensive details of not only what to detect but also how. These details complicate detector maintenance and evolution, and also interfere with the framework’s ability to change how detection is done, for instance, to make the detectors incremental. In this paper, we present JavaDL, a Datalog-based declarative specification language for bug pattern detection in Java code. JavaDL seamlessly supports both exhaustive and incremental evaluation from the same detector specification. This specification allows developers to describe local detector components via syntactic pattern matching, and nonlocal (e.g., interprocedural) reasoning via Datalog-style logical rules. We compare our approach against the well-established SpotBugs and Error Prone tools by re-implementing several of their detectors in JavaDL. We find that our implementations are substantially smaller and similarly effective at detecting bugs on the Defects4J benchmark suite, and run with competitive runtime performance. In our experiments, neither incremental nor exhaustive analysis can consistently outperform the other, which highlights the value of our ability to transparently switch execution modes. We argue that our approach showcases the potential of clear-box static checker frameworks that constrain the bug detector specification language to enable the framework to adapt and enhance the detectors.
|
|
16. |
- Fors, Niklas, et al.
(författare)
-
Principles and Patterns of JastAdd-Style Reference Attribute Grammars
- 2020
-
Ingår i: Proceedings of the 13th ACM SIGPLAN International Conference on Software Language Engineering (SLE 2020). - New York, NY, USA : ACM. - 9781450381765 ; , s. 86-100
-
Konferensbidrag (refereegranskat)abstract
- Reference attribute grammars (RAGs) have reached a level of maturity where they are supported by several tools, and have gained traction in both academic and industrial language tool development. However, despite a lot of accumulated knowledge of how to best develop RAGs in practice, there is limited support to guide practitioners.In this paper, we address this issue by focusing on one RAG tool, JastAdd, and by defining principles and patterns for development of RAGs with this tool. We evaluate the proposed principles and patterns with an exploratory empirical study with 14 practitioners, with a mix of beginners and experienced users from both academia and industry. The results indicate that the principles and patterns capture the practice of developing JastAdd RAGs well, help practitioners to become aware of useful patterns, and provide a common language to more efficiently reason about the practice of developing JastAdd RAGs.
|
|
17. |
|
|
18. |
- Gustavsson, Johan, 1974, et al.
(författare)
-
Mode and polarization control in VCSELs using shallow surface structures
- 2007
-
Ingår i: IET Optoelectronics. ; 1:5, s. 197-205
-
Tidskriftsartikel (refereegranskat)abstract
- Monolithic techniques for mode and polarisation control in vertical-cavity surface emitting lasers (VCSELs) using shallow surface structures are summarized and put in the context with other techniques in terms of performance and manufacturability. The method of using circular-symmetric surface structures for mode control and their combination with a sub-wavelength surface grating for simultaneous mode and polarisation control is described in detail, and adherent experimental results for both 850-nm and 1.3-µm oxide-confined VCSELs are presented.
|
|
19. |
|
|
20. |
|
|
21. |
- Hedin, Görel, et al.
(författare)
-
A plan for building renaming support for Modelica
- 2009
-
Konferensbidrag (refereegranskat)abstract
- We discuss our current work on building an IDE for Modelica, and how we intend to support renaming. Our current implementation of the compiler and the name completion support is done using reference attribute grammars, implemented in the JastAdd metacompilationsystem. For renaming we plan to follow the approach of inverse lookups, developed by Schfer, Ekman, and de Moor. Modelica has challenging naming semantics, providing a good test for this approach.
|
|
22. |
- Johansson, Björn, et al.
(författare)
-
Sustainable production Research : Awareness, Measures and Development
- 2012
-
Ingår i: OIDA International Journal of Sustainable Development. - 1923-6654 .- 1923-6662. ; 4:11, s. 95-104
-
Tidskriftsartikel (refereegranskat)abstract
- This paper takes its standpoint in the hypothesis that awareness of sustainability is the key to create sustainable products, and that this awareness begins already at research level. It describes the development and follow-up of a method for increasing sustainability awareness in sustainable production research. Several activities were carried out to increase the awareness. Firstly) workshops with researchers and industry on sustainability. Secondly) development of measures based on literature and interviews with researchers. Thirdly) monitoring of awareness through concept maps. Progress was evaluated by comparing the awareness of the population when the project started in 2010, and then again in 2011. The results show that the participants had shifted their view from primary emphasizing technology towards a more balanced view of sustainability where social aspects were more often taken into consideration. According to the concept maps methodology, sustainability awareness in the population increased with 25%.
|
|
23. |
- Johansson, Björn, 1975, et al.
(författare)
-
SUSTAINABLE PRODUCTION RESEARCH: AWARENESS, MEASURES AND DEVELOPMENT
- 2012
-
Ingår i: International Journal of Sustainable Development. - 1923-6662. ; 4:11, s. 95-104
-
Tidskriftsartikel (refereegranskat)abstract
- This paper takes its standpoint in thehypothesis that awareness of sustainability is the keyto create sustainable products, and that this awarenessbegins already at research level. It describes thedevelopment and follow-up of a method forincreasing sustainability awareness in sustainableproduction research. Several activities were carriedout to increase the awareness. Firstly) workshopswith researchers and industry on sustainability.Secondly) development of measures based onliterature and interviews with researchers. Thirdly)monitoring of awareness through concept maps.Progress was evaluated by comparing the awarenessof the population when the project started in 2010,and then again in 2011. The results show that theparticipants had shifted their view from primaryemphasizing technology towards a more balancedview of sustainability where social aspects were moreoften taken into consideration. According to theconcept maps methodology, sustainability awarenessin the population increased with 25%.
|
|
24. |
- Kats, Lennart C.L., et al.
(författare)
-
Providing rapid feedback in generated modular language environments adding error recovery to scannerless generalized-LR parsing
- 2009
-
Ingår i: OOPSLA'09: Proceedings of the 24th International Conferemce on Object-Oriented Programming, systems, Languages & Applications. ; 44, s. 445-464
-
Konferensbidrag (refereegranskat)abstract
- Integrated development environments (IDEs) increase programmer productivity, providing rapid, interactive feedback based on the syntax and semantics of a language. A heavy burden lies on developers of new languages to provide adequate IDE support. Code generation techniques provide a viable, efficient approach to semi-automatically produce IDE plugins. Key components for the realization of plugins are the language's grammar and parser. For embedded languages and language extensions, constituent IDE plugin modules and their grammars can be combined. Unlike conventional parsing algorithms, scannerless generalized-LR parsing supports the full set of context-free grammars, which is closed under composition, and hence can parse language embeddings and extensions composed from separate grammar modules. To apply this algorithm in an interactive environment, this paper introduces a novel error recovery mechanism, which allows it to be used with files with syntax errors -- common in interactive editing. Error recovery is vital for providing rapid feedback in case of syntax errors, as most IDE services depend on the parser -- from syntax highlighting to semantic analysis and cross-referencing. We base our approach on the principles of island grammars, and automatically generate new productions for existing grammars, making them more permissive of their inputs. To cope with the added complexity of these grammars, we adapt the parser to support backtracking. We evaluate the recovery quality and performance of our approach using a set of composed languages, based on Java and Stratego.
|
|
25. |
- Kuang, Peng, et al.
(författare)
-
Applying Machine Learning to Gaze Data in Software Development: a Mapping Study
- 2023
-
Ingår i: The 11th International Workshop on Eye Movements in Programming.
-
Konferensbidrag (refereegranskat)abstract
- Eye tracking has been used as part of software engineering and computer science research for a long time, and during this time new techniques for machine learning (ML) have emerged. Some of those techniques are applicable to the analysis of eye-tracking data, and to some extent have been applied. However, there is no structured summary available on which ML techniques are used for analysis in different types of eye-tracking research studies. In this paper, our objective is to summarize the research literature with respect to the application of ML techniques to gaze data in the field of software engineering. To this end, we have conducted a systematic mapping study, where research articles are identified through a search in academic databases and analyzed qualitatively. After identifying 10 relevant articles, we found that the most common software development activity studied so far with eye-tracking and ML is program comprehension, and Support Vector Machines and Decision Trees are the most commonly used ML techniques. We further report on limitations and challenges reported in the literature and opportunities for future work.
|
|