17 results on '"Kästner, Christian"'
Search Results
2. Feature Interactions on Steroids: On the Composition of ML Models
- Author
-
Kästner, Christian, Kang, Eunsuk, and Apel, Sven
- Subjects
D.2.1 ,Software Engineering (cs.SE) ,FOS: Computer and information sciences ,Computer Science - Software Engineering ,Computer Science - Machine Learning ,D.2.2 ,I.2.6 ,Software ,Machine Learning (cs.LG) - Abstract
The lack of specifications is a key difference between traditional software engineering and machine learning. We discuss how it drastically impacts how we think about divide-and-conquer approaches to system design, and how it impacts reuse, testing and debugging activities. Traditionally, specifications provide a cornerstone for compositional reasoning and for the divide-and-conquer strategy of how we build large and complex systems from components, but those are hard to come by for machine-learned components. While the lack of specification seems like a fundamental new problem at first sight, in fact software engineers routinely deal with iffy specifications in practice: we face weak specifications, wrong specifications, and unanticipated interactions among components and their specifications. Machine learning may push us further, but the problems are not fundamentally new. Rethinking machine-learning model composition from the perspective of the feature interaction problem, we may even teach us a thing or two on how to move forward, including the importance of integration testing, of requirements engineering, and of design.
- Published
- 2022
- Full Text
- View/download PDF
3. MLTEing Models: Negotiating, Evaluating, and Documenting Model and System Qualities
- Author
-
Maffey, Katherine R., Dotterrer, Kyle, Niemann, Jennifer, Cruickshank, Iain, Lewis, Grace A., and Kästner, Christian
- Subjects
Software Engineering (cs.SE) ,FOS: Computer and information sciences ,Computer Science - Software Engineering ,Artificial Intelligence (cs.AI) ,Computer Science - Artificial Intelligence - Abstract
Many organizations seek to ensure that machine learning (ML) and artificial intelligence (AI) systems work as intended in production but currently do not have a cohesive methodology in place to do so. To fill this gap, we propose MLTE (Machine Learning Test and Evaluation, colloquially referred to as "melt"), a framework and implementation to evaluate ML models and systems. The framework compiles state-of-the-art evaluation techniques into an organizational process for interdisciplinary teams, including model developers, software engineers, system owners, and other stakeholders. MLTE tooling supports this process by providing a domain-specific language that teams can use to express model requirements, an infrastructure to define, generate, and collect ML evaluation metrics, and the means to communicate results., Comment: Accepted to the NIER Track of the 45th International Conference on Software Engineering (ICSE 2023)
- Published
- 2023
- Full Text
- View/download PDF
4. Collaboration challenges in building ML-enabled systems
- Author
-
Nahar, Nadia, Zhou, Shurui, Lewis, Grace, and Kästner, Christian
- Subjects
Software Engineering (cs.SE) ,FOS: Computer and information sciences ,Computer Science - Software Engineering ,Computer Science - Machine Learning ,Machine Learning (cs.LG) - Abstract
The introduction of machine learning (ML) components in software projects has created the need for software engineers to collaborate with data scientists and other specialists. While collaboration can always be challenging, ML introduces additional challenges with its exploratory model development process, additional skills and knowledge needed, difficulties testing ML systems, need for continuous evolution and monitoring, and non-traditional quality requirements such as fairness and explainability. Through interviews with 45 practitioners from 28 organizations, we identified key collaboration challenges that teams face when building and deploying ML systems into production. We report on common collaboration points in the development of production ML systems for requirements, data, and integration, as well as corresponding team patterns and challenges. We find that most of these challenges center around communication, documentation, engineering, and process and collect recommendations to address these challenges., Comment: 22 pages, 10 figures, 5 tables
- Published
- 2022
- Full Text
- View/download PDF
5. Capabilities for Better ML Engineering
- Author
-
Yang, Chenyang, Brower-Sinning, Rachel, Lewis, Grace A., Kästner, Christian, and Wu, Tongshuang
- Subjects
Software Engineering (cs.SE) ,FOS: Computer and information sciences ,Computer Science - Software Engineering ,Artificial Intelligence (cs.AI) ,Computer Science - Artificial Intelligence - Abstract
In spite of machine learning's rapid growth, its engineering support is scattered in many forms, and tends to favor certain engineering stages, stakeholders, and evaluation preferences. We envision a capability-based framework, which uses fine-grained specifications for ML model behaviors to unite existing efforts towards better ML engineering. We use concrete scenarios (model design, debugging, and maintenance) to articulate capabilities' broad applications across various different dimensions, and their impact on building safer, more generalizable and more trustworthy models that reflect human needs. Through preliminary experiments, we show capabilities' potential for reflecting model generalizability, which can provide guidance for ML engineering process. We discuss challenges and opportunities for capabilities' integration into ML engineering.
- Published
- 2022
- Full Text
- View/download PDF
6. Understanding the Nature of System-Related Issues in Machine Learning Frameworks: An Exploratory Study
- Author
-
Ren, Yang, Gay, Gregory, Kästner, Christian, and Jamshidi, Pooyan
- Subjects
Software Engineering (cs.SE) ,FOS: Computer and information sciences ,Computer Science - Machine Learning ,Computer Science - Software Engineering ,Machine Learning (cs.LG) - Abstract
Modern systems are built using development frameworks. These frameworks have a major impact on how the resulting system executes, how configurations are managed, how it is tested, and how and where it is deployed. Machine learning (ML) frameworks and the systems developed using them differ greatly from traditional frameworks. Naturally, the issues that manifest in such frameworks may differ as well---as may the behavior of developers addressing those issues. We are interested in characterizing the system-related issues---issues impacting performance, memory and resource usage, and other quality attributes---that emerge in ML frameworks, and how they differ from those in traditional frameworks. We have conducted a moderate-scale exploratory study analyzing real-world system-related issues from 10 popular machine learning frameworks. Our findings offer implications for the development of machine learning systems, including differences in the frequency of occurrence of certain issue types, observations regarding the impact of debate and time on issue correction, and differences in the specialization of developers. We hope that this exploratory study will enable developers to improve their expectations, plan for risk, and allocate resources accordingly when making use of the tools provided by these frameworks to develop ML-based systems., Comment: 12 pages, 7 figures
- Published
- 2020
- Full Text
- View/download PDF
7. Design Dimensions for Software Certification: A Grounded Analysis
- Author
-
Ferreira, Gabriel, Kästner, Christian, Sunshine, Joshua, Apel, Sven, and Scherlis, William
- Subjects
Software Engineering (cs.SE) ,FOS: Computer and information sciences ,Computer Science - Software Engineering - Abstract
In many domains, software systems cannot be deployed until authorities judge them fit for use in an intended operating environment. Certification standards and processes have been devised and deployed to regulate operations of software systems and prevent their failures. However, practitioners are often unsatisfied with the efficiency and value proposition of certification efforts. In this study, we compare two certification standards, Common Criteria and DO-178C, and collect insights from literature and from interviews with subject-matter experts to identify design options relevant to the design of standards. The results of the comparison of certification efforts---leading to the identification of design dimensions that affect their quality---serve as a framework to guide the comparison, creation, and revision of certification standards and processes. This paper puts software engineering research in context and discusses key issues around process and quality assurance and includes observations from industry about relevant topics such as recertification, timely evaluations, but also technical discussions around model-driven approaches and formal methods. Our initial characterization of the design space of certification efforts can be used to inform technical discussions and to influence the directions of new or existing certification efforts. Practitioners, technical commissions, and government can directly benefit from our analytical framework., Comment: 16 pages
- Published
- 2019
- Full Text
- View/download PDF
8. Understanding Differences among Executions with Variational Traces
- Author
-
Meinicke, Jens, Wong, Chu-Pan, Kästner, Christian, and Saake, Gunter
- Subjects
Software Engineering (cs.SE) ,FOS: Computer and information sciences ,Computer Science - Software Engineering - Abstract
One of the main challenges of debugging is to understand why the program fails for certain inputs but succeeds for others. This becomes especially difficult if the fault is caused by an interaction of multiple inputs. To debug such interaction faults, it is necessary to understand the individual effect of the input, how these inputs interact and how these interactions cause the fault. The differences between two execution traces can explain why one input behaves differently than the other. We propose to compare execution traces of all input options to derive explanations of the behavior of all options and interactions among them. To make the relevant information stand out, we represent them as variational traces that concisely represents control-flow and data-flow differences among multiple concrete traces. While variational traces can be obtained from brute-force execution of all relevant inputs, we use variational execution to scale the generation of variational traces to the exponential space of possible inputs. We further provide an Eclipse plugin Varviz that enables users to use variational traces for debugging and navigation. In a user study, we show that users of variational traces are more than twice as fast to finish debugging tasks than users of the standard Eclipse debugger. We further show that variational traces can be scaled to programs with many options.
- Published
- 2018
- Full Text
- View/download PDF
9. On the Relation of External and Internal Feature Interactions: A Case Study
- Author
-
Kolesnikov, Sergiy, Siegmund, Norbert, Kästner, Christian, and Apel, Sven
- Subjects
Software Engineering (cs.SE) ,FOS: Computer and information sciences ,Computer Science - Software Engineering - Abstract
Detecting feature interactions is imperative for accurately predicting performance of highly-configurable systems. State-of-the-art performance prediction techniques rely on supervised machine learning for detecting feature interactions, which, in turn, relies on time consuming performance measurements to obtain training data. By providing information about potentially interacting features, we can reduce the number of required performance measurements and make the overall performance prediction process more time efficient. We expect that the information about potentially interacting features can be obtained by statically analyzing the source code of a highly-configurable system, which is computationally cheaper than performing multiple performance measurements. To this end, we conducted a qualitative case study in which we explored the relation between control-flow feature interactions (detected through static program analysis) and performance feature interactions (detected by performance prediction techniques using performance measurements). We found that a relation exists, which can potentially be exploited to predict performance interactions.
- Published
- 2017
- Full Text
- View/download PDF
10. Differential Testing for Variational Analyses: Experience from Developing KConfigReader
- Author
-
Kästner, Christian
- Subjects
Software Engineering (cs.SE) ,FOS: Computer and information sciences ,Computer Science - Software Engineering - Abstract
Differential testing to solve the oracle problem has been applied in many scenarios where multiple supposedly equivalent implementations exist, such as multiple implementations of a C compiler. If the multiple systems disagree on the output for a given test input, we have likely discovered a bug without every having to specify what the expected output is. Research on variational analyses (or variability-aware or family-based analyses) can benefit from similar ideas. The goal of most variational analyses is to perform an analysis, such as type checking or model checking, over a large number of configurations much faster than an existing traditional analysis could by analyzing each configuration separately. Variational analyses are very suitable for differential testing, since the existence nonvariational analysis can provide the oracle for test cases that would otherwise be tedious or difficult to write. In this experience paper, I report how differential testing has helped in developing KConfigReader, a tool for translating the Linux kernel's kconfig model into a propositional formula. Differential testing allows us to quickly build a large test base and incorporate external tests that avoided many regressions during development and made KConfigReader likely the most precise kconfig extraction tool available.
- Published
- 2017
- Full Text
- View/download PDF
11. The Love/Hate Relationship with the C Preprocessor: An Interview Study
- Author
-
Medieros, Flávio, Kästner, Christian, Ribeiro, Márcio, Nadi, Sarah, and Rohit Gheyi
- Subjects
80399 Computer Software not elsewhere classified ,FOS: Computer and information sciences ,000 Computer science, knowledge, general works ,Computer Science - Abstract
The C preprocessor has received strong criticism in academia, among others regarding separation of concerns, error proneness, and code obfuscation, but is widely used in practice. Many (mostly academic) alternatives to the preprocessor exist, but have not been adopted in practice. Since developers continue to use the preprocessor despite all criticism and research, we ask how practitioners perceive the C preprocessor. We performed interviews with 40 developers, used grounded theory to analyze the data, and cross-validated the results with data from a survey among 202 developers, repository mining, and results from previous studies. In particular, we investigated four research questions related to why the preprocessor is still widely used in practice, common problems, alternatives, and the impact of undisciplined annotations. Our study shows that developers are aware of the criticism the C preprocessor receives, but use it nonetheless, mainly for portability and variability. Many developers indicate that they regularly face preprocessor-related problems and preprocessor-related bugs. The majority of our interviewees do not see any current C-native technologies that can entirely replace the C preprocessor. However, developers tend to mitigate problems with guidelines, even though those guidelines are not enforced consistently. We report the key insights gained from our study and discuss implications for practitioners and researchers on how to better use the C preprocessor to minimize its negative impact.
- Published
- 2015
- Full Text
- View/download PDF
12. Seminal Papers in Software Engineering: The Carnegie Mellon Canonical Collection
- Author
-
Shaw, Mary, Aldrich, Jonathan, Breaux, Travis D., Garlan, David, Kästner, Christian, Goues, Claire Le, and Scherlis, William
- Subjects
80399 Computer Software not elsewhere classified ,FOS: Computer and information sciences - Abstract
To understand the context of current research, it is essential to understand how current results evolved from early fundamental papers. These classic papers develop timeless ideas that transcend technology changes, and the ideas embodied in their solutions often apply to current problems (and, indeed, are reinvented by researchers who are ignorant of the classic literature).
- Published
- 2015
- Full Text
- View/download PDF
13. Understanding Programmers' Brains with fMRI
- Author
-
Apel Sven, Siegmund Janet, Parnin Chris, Kästner Christian, Bethmann Anja, and Brechmann Andre
- Subjects
Computer science ,Biomedical Engineering ,Neuroscience (miscellaneous) ,Computer Science Applications - Published
- 2014
- Full Text
- View/download PDF
14. Understanding Understanding Source Code with Functional Magnetic Resonance Imaging
- Author
-
Siegmund, Janet, Kästner, Christian, Apel, Sven, Parnin, Chris, and Bethmann, Anja
- Subjects
80399 Computer Software not elsewhere classified ,FOS: Computer and information sciences - Abstract
Program comprehension is an important cognitive process that inherently eludes direct measurement. Thus, researchers are struggling with providing suitable programming languages, tools, or coding conventions to support developers in their everyday work. In this paper, we explore whether functional magnetic resonance imaging (fMRI), which is well established in cognitive neuroscience, is feasible to soundly measure program comprehension. In a controlled experiment, we observed 17 participants inside an fMRI scanner while they were comprehending short source-code snippets, which we contrasted with locating syntax errors. We found a clear, distinct activation pattern of five brain regions, which are related to working memory, attention, and language processing---all processes that fit well to our understanding of program comprehension. Our results encourage us and, hopefully, other researchers to use fMRI in future studies to measure program comprehension and, in the long run, answer questions, such as: Can we predict whether someone will be an excellent programmer? How effective are new languages and tools for program understanding? How should we train programmers?
- Published
- 2014
- Full Text
- View/download PDF
15. Experience from Measuring Program Comprehension—Toward a General Framework
- Author
-
Siegmund, Janet, Kästner, Christian, Apel, Sven, Brechmann, Andre, and Saake, Gunter
- Subjects
80399 Computer Software not elsewhere classified ,FOS: Computer and information sciences - Abstract
Program comprehension plays a crucial role during the software-development life cycle: Maintenance programmers spend most of their time with comprehending source code, and maintenance is the main cost factor in software development. Thus, if we can improve program comprehension, we can save considerable amount of time and cost. To improve program comprehension, we have to measure it first. However, program comprehension is a complex, internal cognitive process that we cannot observe directly. Typically, we need to conduct controlled experiments to soundly measure program comprehension. However, empirical research is applied only reluctantly in software engineering. To close this gap, we set out to support researchers in planning and conducting experiments regarding program comprehension. We report our experience with experiments that we conducted and present the resulting framework to support researchers in planning and conducting experiments. Additionally, we discuss the role of teaching for the empirical researchers of tomorrow.
- Published
- 2013
- Full Text
- View/download PDF
16. Variability Mining: Consistent Semiautomatic Detection of Product-Line Features
- Author
-
Kästner, Christian, Dreiling, Alexander, and Ostermann, Klaus
- Subjects
80399 Computer Software not elsewhere classified ,FOS: Computer and information sciences - Abstract
Software product line engineering is an efficient means to generate a set of tailored software products from a common implementation. However, adopting a product-line approach poses a major challenge and significant risks, since typically legacy code must be migrated toward a product line. Our aim is to lower the adoption barrier by providing semiautomatic tool support—called variability mining—to support developers in locating, documenting, and extracting implementations of product-line features from legacy code. Variability mining combines prior work on concern location, reverse engineering, and variability-aware type systems, but is tailored specifically for the use in product lines. Our work pursues three technical goals: (1) we provide a consistency indicator based on a variability-aware type system, (2) we mine features at a fine level of granularity, and (3) we exploit domain knowledge about the relationship between features when available. With a quantitative study, we demonstrate that variability mining can efficiently support developers in locating features
- Published
- 2013
- Full Text
- View/download PDF
17. Large-Scale Variability-Aware Type Checking and Dataflow Analysis
- Author
-
Liebig, Jörg, Rhein, Alexander Von, Kästner, Christian, Apel, Sven, Dorre, Jens, and Lengauer, Christian
- Subjects
80399 Computer Software not elsewhere classified ,FOS: Computer and information sciences - Abstract
A software product line is a family of similar software products that share a common set of assets. The advent of proper variability management and generator technology enables end-users to derive individual products solely based on a selection of desired features. This gives rise to a huge configuration space of possible products. But the high degree of variability comes at a cost: classic analysis methods do not scale any more; there are simply too many potential products to analyze. Hence, researchers have begun to develop variabilityaware analyses, which exploit the similarities of the products of a product line to reduce analysis effort. However, while being promising, variability-aware analyses have not been applied to real-world product lines so far. We close this gap by developing and applying two full-fledged analyses to two real-world, largescale systems: the Busybox tool suite and the Linux kernel. We report on our experience with making variability-aware analysis ready for the real world, and with applying it to large-scale product lines. A key result is that variability-aware analysis can outperform even very limited sampling heuristics with respect to analysis time.
- Published
- 2012
- Full Text
- View/download PDF
Catalog
Discovery Service for Jio Institute Digital Library
For full access to our library's resources, please sign in.