Change search
Link to record
Permanent link

Direct link
BETA
Baudry, Benoit
Publications (10 of 12) Show all publications
Alferez, M., Acher, M., Galindo, J. A., Baudry, B. & Benavides, D. (2019). Modeling variability in the video domain: language and experience report. Software quality journal, 27(1), 307-347
Open this publication in new window or tab >>Modeling variability in the video domain: language and experience report
Show others...
2019 (English)In: Software quality journal, ISSN 0963-9314, E-ISSN 1573-1367, Vol. 27, no 1, p. 307-347Article in journal (Refereed) Published
Abstract [en]

In an industrial project, we addressed the challenge of developing a software-based video generator such that consumers and providers of video processing algorithms can benchmark them on a wide range of video variants. This article aims to report on our positive experience in modeling, controlling, and implementing software variability in the video domain. We describe how we have designed and developed a variability modeling language, called VM, resulting from the close collaboration with industrial partners during 2 years. We expose the specific requirements and advanced variability constructs; we developed and used to characterize and derive variations of video sequences. The results of our experiments and industrial experience show that our solution is effective to model complex variability information and supports the synthesis of hundreds of realistic video variants. From the software language perspective, we learned that basic variability mechanisms are useful but not enough; attributes and multi-features are of prior importance; meta-information and specific constructs are relevant for scalable and purposeful reasoning over variability models. From the video domain and software perspective, we report on the practical benefits of a variability approach. With more automation and control, practitioners can now envision benchmarking video algorithms over large, diverse, controlled, yet realistic datasets (videos that mimic real recorded videos)-something impossible at the beginning of the project.

Place, publisher, year, edition, pages
Springer, 2019
Keywords
Variability modeling, Feature modeling, Software product line engineering, Configuration, Automated reasoning, Domain-specific languages, Video testing
National Category
Software Engineering
Identifiers
urn:nbn:se:kth:diva-249887 (URN)10.1007/s11219-017-9400-8 (DOI)000462236000009 ()2-s2.0-85043359422 (Scopus ID)
Note

QC 20190426

Available from: 2019-04-26 Created: 2019-04-26 Last updated: 2019-04-26Bibliographically approved
Halin, A., Nuttinck, A., Acher, M., Devroey, X., Perrouin, G. & Baudry, B. (2019). Test them all, is it worth it?: Assessing configuration sampling on the JHipster Web development stack. Journal of Empirical Software Engineering, 24(2), 674-717
Open this publication in new window or tab >>Test them all, is it worth it?: Assessing configuration sampling on the JHipster Web development stack
Show others...
2019 (English)In: Journal of Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 24, no 2, p. 674-717Article in journal (Refereed) Published
Abstract [en]

Many approaches for testing configurable software systems start from the same assumption: it is impossible to test all configurations. This motivated the definition of variability-aware abstractions and sampling techniques to cope with large configuration spaces. Yet, there is no theoretical barrier that prevents the exhaustive testing of all configurations by simply enumerating them if the effort required to do so remains acceptable. Not only this: we believe there is a lot to be learned by systematically and exhaustively testing a configurable system. In this case study, we report on the first ever endeavour to test all possible configurations of the industry-strength, open source configurable software system JHipster, a popular code generator for web applications. We built a testing scaffold for the 26,000+ configurations of JHipster using a cluster of 80 machines during 4 nights for a total of 4,376 hours (182 days) CPU time. We find that 35.70% configurations fail and we identify the feature interactions that cause the errors. We show that sampling strategies (like dissimilarity and 2-wise): (1) are more effective to find faults than the 12 default configurations used in the JHipster continuous integration; (2) can be too costly and exceed the available testing budget. We cross this quantitative analysis with the qualitative assessment of JHipster's lead developers.

Place, publisher, year, edition, pages
SPRINGER, 2019
Keywords
Configuration sampling, Variability-intensive system, Software testing, JHipster, Case study
National Category
Computer and Information Sciences
Identifiers
urn:nbn:se:kth:diva-249802 (URN)10.1007/s10664-018-9635-4 (DOI)000462654200005 ()2-s2.0-85049998068 (Scopus ID)
Note

QC 20190424

Available from: 2019-04-24 Created: 2019-04-24 Last updated: 2019-04-24Bibliographically approved
Baudry, B., Harrand, N., Schulte, E., Timperley, C., Tan, S. H., Selakovic, M. & Ugherughe, E. (2018). A spoonful of DevOps helps the GI go down. In: Proceedings - International Conference on Software Engineering: . Paper presented at 2018 ACM/IEEE 4th International Genetic Improvement Workshop, GI 2018, Held at 40th International Conference on Software Engineering, ICSE 2018, 2 June 2018 (pp. 35-36). IEEE Computer Society
Open this publication in new window or tab >>A spoonful of DevOps helps the GI go down
Show others...
2018 (English)In: Proceedings - International Conference on Software Engineering, IEEE Computer Society , 2018, p. 35-36Conference paper, Published paper (Refereed)
Abstract [en]

DevOps emphasizes a high degree of automation at all phases of the software development lifecyle. Meanwhile, Genetic Improvement (GI) focuses on the automatic improvement of software artifacts. In this paper, we discuss why we believe that DevOps offers an excellent technical context for easing the adoption of GI techniques by software developers. We also discuss A/B testing as a prominent and clear example of GI taking place in the wild today, albeit one with human-supervised fitness and mutation operators.

Place, publisher, year, edition, pages
IEEE Computer Society, 2018
Keywords
continuous integration, DevOps, genetic improvement, Computer software, A/b testing, Continuous integrations, Degree of automation, Genetic improvements, Mutation operators, Software artifacts, Software developer, Software design
National Category
Computer and Information Sciences
Identifiers
urn:nbn:se:kth:diva-247217 (URN)10.1145/3194810.3194818 (DOI)2-s2.0-85054623465 (Scopus ID)9781450357531 (ISBN)
Conference
2018 ACM/IEEE 4th International Genetic Improvement Workshop, GI 2018, Held at 40th International Conference on Software Engineering, ICSE 2018, 2 June 2018
Note

QC 20190403

Available from: 2019-04-03 Created: 2019-04-03 Last updated: 2019-04-03Bibliographically approved
Thomas, D., Harrand, N., Baudry, B. & Bossis, B. (2018). Code{strata} sonifying software complexity. In: TEI 2018 - Proceedings of the 12th International Conference on Tangible, Embedded, and Embodied Interaction: . Paper presented at 12th International Conference on Tangible, Embedded, and Embodied Interaction, TEI 2018, Stockholm, Sweden, 18 March 2018 through 21 March 2018 (pp. 617-621). Association for Computing Machinery (ACM)
Open this publication in new window or tab >>Code{strata} sonifying software complexity
2018 (English)In: TEI 2018 - Proceedings of the 12th International Conference on Tangible, Embedded, and Embodied Interaction, Association for Computing Machinery (ACM), 2018, p. 617-621Conference paper, Published paper (Refereed)
Abstract [en]

Code{strata} is an interdisciplinary collaboration between art studies researchers (Rennes 2) and computer scientists (INRIA, KTH). It is a sound installation: a computer system unit made of concrete that sits on a wooden desk. The purpose of this project is to question the opacity and simplicity of high-level interfaces used in daily gestures. It takes the form of a 3-D sonification of a full software trace that is collected when performing a copy and paste command in a simple text editor. The user may hear, through headphones, a poetic interpretation of what happens in a computer, behind the of graphical interfaces. The sentence "Copy and paste" is played back in as many pieces as there are nested functions called during the execution of the command.

Place, publisher, year, edition, pages
Association for Computing Machinery (ACM), 2018
Keywords
Copy and paste, Cycling 74 Max 7, Instrumentation, Java, Sonification, Spatialization
National Category
Computer and Information Sciences
Identifiers
urn:nbn:se:kth:diva-228575 (URN)10.1145/3173225.3173317 (DOI)2-s2.0-85046819426 (Scopus ID)9781450355681 (ISBN)
Conference
12th International Conference on Tangible, Embedded, and Embodied Interaction, TEI 2018, Stockholm, Sweden, 18 March 2018 through 21 March 2018
Funder
Wallenberg FoundationsEU, Horizon 2020, 731529
Note

QC 20180528

Available from: 2018-05-28 Created: 2018-05-28 Last updated: 2018-12-13Bibliographically approved
Soto-Valero, C., Bourcier, J. & Baudry, B. (2018). Detection and analysis of behavioral T-patterns in debugging activities. In: MSR '18 Proceedings of the 15th International Conference on Mining Software Repositories: . Paper presented at 15th ACM/IEEE International Conference on Mining Software Repositories, MSR 2018, co-located with the 40th International Conference on Software Engineering, ICSE 2018, Gothenburg, Sweden, 28 May 2018 through 29 May 2018 (pp. 110-113). IEEE Computer Society
Open this publication in new window or tab >>Detection and analysis of behavioral T-patterns in debugging activities
2018 (English)In: MSR '18 Proceedings of the 15th International Conference on Mining Software Repositories, IEEE Computer Society, 2018, p. 110-113Conference paper, Published paper (Refereed)
Abstract [en]

A growing body of research in empirical software engineering applies recurrent patterns analysis in order to make sense of the developers' behavior during their interactions with IDEs. However, the exploration of hidden real-time structures of programming behavior remains a challenging task. In this paper, we investigate the presence of temporal behavioral patterns (T-patterns) in debugging activities using the THEME software. Our preliminary exploratory results show that debugging activities are strongly correlated with code editing, file handling, window interactions and other general types of programming activities. The validation of our T-patterns detection approach demonstrates that debugging activities are performed on the basis of repetitive and well-organized behavioral events. Furthermore, we identify a large set of T-patterns that associate debugging activities with build success, which corroborates the positive impact of debugging practices on software development.

Place, publisher, year, edition, pages
IEEE Computer Society, 2018
Series
Proceedings - International Conference on Software Engineering, ISSN 0270-5257
Keywords
debugging interactions, developers' behavior, empirical software engineering, T-patterns analysis
National Category
Software Engineering
Identifiers
urn:nbn:se:kth:diva-234119 (URN)10.1145/3196398.3196452 (DOI)000458687200028 ()2-s2.0-85051660569 (Scopus ID)9781450357166 (ISBN)
Conference
15th ACM/IEEE International Conference on Mining Software Repositories, MSR 2018, co-located with the 40th International Conference on Software Engineering, ICSE 2018, Gothenburg, Sweden, 28 May 2018 through 29 May 2018
Funder
Wallenberg AI, Autonomous Systems and Software Program (WASP)
Note

QC 20180905

Available from: 2018-09-05 Created: 2018-09-05 Last updated: 2019-03-19Bibliographically approved
Soto-Valero, C., Bourcier, J. & Baudry, B. (2018). Detection and Analysis of Behavioral T-patternsi n Debugging Activities. In: : . Paper presented at Mining Software Repositories.
Open this publication in new window or tab >>Detection and Analysis of Behavioral T-patternsi n Debugging Activities
2018 (English)Conference paper, Published paper (Refereed)
National Category
Engineering and Technology Computer Sciences
Identifiers
urn:nbn:se:kth:diva-225488 (URN)
Conference
Mining Software Repositories
Note

QC 20180411

Available from: 2018-04-05 Created: 2018-04-05 Last updated: 2018-04-11Bibliographically approved
Morin, B., Høgenes, J., Song, H., Harrand, N. Y. & Baudry, B. (2018). Engineering software diversity: A model-based approach to systematically diversify communications. In: Proceedings - 21st ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, MODELS 2018: . Paper presented at 21st ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, MODELS 2018, 14 October 2018 through 19 October 2018 (pp. 155-165). Association for Computing Machinery, Inc
Open this publication in new window or tab >>Engineering software diversity: A model-based approach to systematically diversify communications
Show others...
2018 (English)In: Proceedings - 21st ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, MODELS 2018, Association for Computing Machinery, Inc , 2018, p. 155-165Conference paper, Published paper (Refereed)
Abstract [en]

Automated diversity is a promising mean of increasing the security of software systems. However, current automated diversity techniques operate at the bottom of the software stack (operating system and compiler), yielding a limited amount of diversity. We present a novel Model-Driven Engineering approach to the diversification of communicating systems, building on abstraction, model transformations and code generation. This approach generates significant amounts of diversity with a low overhead, and addresses a large number of communicating systems, including small communicating devices.

Place, publisher, year, edition, pages
Association for Computing Machinery, Inc, 2018
Keywords
Industrial engineering, Automated diversity, Code Generation, Engineering software, Model based approach, Model transformation, Model-driven Engineering, Software stacks, Software systems, Engineering
National Category
Computer and Information Sciences
Identifiers
urn:nbn:se:kth:diva-247131 (URN)10.1145/3239372.3239393 (DOI)2-s2.0-85056814752 (Scopus ID)9781450349499 (ISBN)
Conference
21st ACM/IEEE International Conference on Model Driven Engineering Languages and Systems, MODELS 2018, 14 October 2018 through 19 October 2018
Funder
Swedish Foundation for Strategic Research , trustfullWallenberg AI, Autonomous Systems and Software Program (WASP)
Note

QC 20190403

Available from: 2019-04-03 Created: 2019-04-03 Last updated: 2019-05-08
Durieux, T., Hamadi, Y., Yu, Z., Baudry, B. & Monperrus, M. (2018). Exhaustive Exploration of the Failure-oblivious Computing Search Space. In: 2018 IEEE 11TH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION (ICST): . Paper presented at 11th IEEE International Conference on Software Testing, Verification and Validation (ICST), APR 09-13, 2018, Vasteras, SWEDEN (pp. 139-149). IEEE Press
Open this publication in new window or tab >>Exhaustive Exploration of the Failure-oblivious Computing Search Space
Show others...
2018 (English)In: 2018 IEEE 11TH INTERNATIONAL CONFERENCE ON SOFTWARE TESTING, VERIFICATION AND VALIDATION (ICST), IEEE Press, 2018, p. 139-149Conference paper, Published paper (Refereed)
Abstract [en]

High-availability of software systems requires automated handling of crashes in presence of errors. Failure-oblivious computing is one technique that aims to achieve high availability. We note that failure-obliviousness has not been studied in depth yet, and there is very few study that helps understand why failure-oblivious techniques work. In order to make failure-oblivious computing to have an impact in practice, we need to deeply understand failure-oblivious behaviors in software. In this paper, we study, design and perform an experiment that analyzes the size and the diversity of the failure-oblivious behaviors. Our experiment consists of exhaustively computing the search space of 16 field failures of large-scale open-source Java software. The outcome of this experiment is a much better understanding of what really happens when failure-oblivious computing is used, and this opens new promising research directions.

Place, publisher, year, edition, pages
IEEE Press, 2018
Series
IEEE International Conference on Software Testing Verification and Validation, ISSN 2381-2834
National Category
Software Engineering
Identifiers
urn:nbn:se:kth:diva-231652 (URN)10.1109/ICST.2018.00023 (DOI)000435006300013 ()2-s2.0-85048441080 (Scopus ID)978-1-5386-5012-7 (ISBN)
Conference
11th IEEE International Conference on Software Testing, Verification and Validation (ICST), APR 09-13, 2018, Vasteras, SWEDEN
Funder
Wallenberg AI, Autonomous Systems and Software Program (WASP)
Note

QC 20180905

Available from: 2018-09-05 Created: 2018-09-05 Last updated: 2019-03-18Bibliographically approved
Gomez-Boix, A., perdrix, P. & Baudry, B. (2018). Hiding in the Crowd: an Analysis of the Effectiveness of Browser ngerprinting at Large Scale. In: WEB CONFERENCE 2018: PROCEEDINGS OF THE WORLD WIDE WEB CONFERENCE (WW2018). Paper presented at 27th World Wide Web (WWW) Conference, APR 23-27, 2018, APR 23-27, 2018 (pp. 309-318). Association for Computing Machinery (ACM)
Open this publication in new window or tab >>Hiding in the Crowd: an Analysis of the Effectiveness of Browser ngerprinting at Large Scale
2018 (English)In: WEB CONFERENCE 2018: PROCEEDINGS OF THE WORLD WIDE WEB CONFERENCE (WW2018), Association for Computing Machinery (ACM), 2018, p. 309-318Conference paper, Published paper (Refereed)
Abstract [en]

Browser fingerprinting is a stateless technique, which consists in collecting a wide range of data about a device through browser APIs. Past studies have demonstrated that modern devices present so much diversity that fingerprints can be exploited to identify and track users online. With this work, we want to evaluate if browser fingerprinting is still effective at uniquely identifying a large group of users when analyzing millions of fingerprints over a few months. We collected 2,067,942 browser fingerprints from one of the top 15 French websites. The analysis of this novel dataset sheds a new light on the ever-growing browser fingerprinting domain. The key insight is that the percentage of unique fingerprints in our dataset is much lower than what was reported in the past: only 33.6% of fingerprints are unique by opposition to over 80% in previous studies. We show that non-unique fingerprints tend to be fragile. If some features of the fingerprint change, it is very probable that the fingerprint will become unique. We also confirm that the current evolution of web technologies is benefiting users' privacy significantly as the removal of plugins brings down substantively the rate of unique desktop machines.

Place, publisher, year, edition, pages
Association for Computing Machinery (ACM), 2018
Keywords
browser fingerprinting, privacy, software diversity
National Category
Computer Sciences
Identifiers
urn:nbn:se:kth:diva-248368 (URN)10.1145/3178876.3186097 (DOI)000460379000030 ()
Conference
27th World Wide Web (WWW) Conference, APR 23-27, 2018, APR 23-27, 2018
Note

QC 20190410

Available from: 2019-04-10 Created: 2019-04-10 Last updated: 2019-04-10Bibliographically approved
Rodriguez-Cancio, M., Baudry, B. & White, J. (2018). Images of Code: Lossy Compression for Native Instructions. In: : . Paper presented at NIER track at ICSE.
Open this publication in new window or tab >>Images of Code: Lossy Compression for Native Instructions
2018 (English)Conference paper, Published paper (Refereed)
Abstract [en]

Developers can use lossy compression on images and many other artifacts to reduce size and improve network transfer times. Native program instructions, however, are typically not considered candidates for lossy compression since arbitrary losses in instructions may dramatically affect program output. In this paper we show that lossy compression of compiled native instructions is possible in certain circumstances. We demonstrate that the instructions sequence of a program can be lossily translated into a separate but equivalent program with instruction-wise differences, which still produces the same output. We contribute the novel insight that it is possible to exploit such instruction differences to design lossy compression schemes for native code. We support this idea with sound and unsound program transformations that improve performance of compression techniques such as Run-Length (RLE), Huffman and LZ77. We also show that large areas of code can endure tampered instructions with no impact on the output, a result consistent with previous works from various communities.

National Category
Engineering and Technology Embedded Systems
Research subject
Computer Science
Identifiers
urn:nbn:se:kth:diva-223421 (URN)
Conference
NIER track at ICSE
Funder
Knut and Alice Wallenberg Foundation
Note

QC 20180221

Available from: 2018-02-21 Created: 2018-02-21 Last updated: 2018-02-21Bibliographically approved
Organisations

Search in DiVA

Show all publications