Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.

Damien Cassou

dblp:86/5188 · DBLP profile ↗
← Back
9ranked-venue papers
4as first author
0since 2021 · last 2015
0000-0002-5785-2728ORCID · corroborated

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 9 · 4 first-author

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
2 papers
Requirements engineering and software design · 82% Software testing · 9% Software maintenance and evolution · 9%
Human-computer interaction and pervasive computing
1 paper
Ubiquitous computing and smart environments · 100%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Embedded and real-time systems · 100%

Topics — the 5 heaviest of 6, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Requirements engineering and software design
software architecture
0.322012
Toward a Tool-Based Development Methodology for Pervasive Computing Applications · IEEE Trans. Software Eng. 2012
Leveraging software architectures to guide and verify the development of sense/compute/control applications · ICSE 2011
Ubiquitous computing and smart environments
pervasive application development
0.112012
Toward a Tool-Based Development Methodology for Pervasive Computing Applications · IEEE Trans. Software Eng. 2012
Requirements engineering and software design › software architecture
architecture-implementation mapping
0.112011
Leveraging software architectures to guide and verify the development of sense/compute/control applications · ICSE 2011
Software testing
mobile application testing
0.012012
Toward a Tool-Based Development Methodology for Pervasive Computing Applications · IEEE Trans. Software Eng. 2012
Embedded and real-time systems
cyber-physical system platforms
0.012011
Leveraging software architectures to guide and verify the development of sense/compute/control applications · ICSE 2011

Methods — techniques the papers use, named apart from their topics

domain-specific design language · 0.3code generation · 0.3static verification · 0.2
YearPublicationVenuePosition
2015 Access control to reflection with object ownership
abstract
Reflection is a powerful programming language feature that enables language extensions, generic code, dynamic analyses, development tools, etc. However, uncontrolled reflection breaks object encapsulation and considerably increases the attack surface of programs e.g., malicious libraries can use reflection to attack their client applications. To bring reflection and object encapsulation back together, we use dynamic object ownership to design an access control policy to reflective operations. This policy grants objects full reflective power over the objects they own but limited reflective power over other objects. Code is still able to use advanced reflective operations but reflection cannot be used as an attack vector anymore.
Camille Teruel, Stéphane Ducasse, Damien Cassou, Marcus Denker
DLS3
2015 Untangling fine-grained code changes
abstract
After working for some time, developers commit their code changes to a version control system. When doing so, they often bundle unrelated changes (e.g., bug fix and refactoring) in a single commit, thus creating a so-called tangled commit. Sharing tangled commits is problematic because it makes review, reversion, and integration of these commits harder and historical analyses of the project less reliable. Researchers have worked at untangling existing commits, i.e., finding which part of a commit relates to which task. In this paper, we contribute to this line of work in two ways: (1) A publicly available dataset of untangled code changes, created with the help of two developers who accurately split their code changes into self contained tasks over a period of four months; (2) a novel approach, EpiceaUntangler, to help developers share untangled commits (aka. atomic commits) by using fine-grained code change information. EpiceaUntangler is based and tested on the publicly available dataset, and further evaluated by deploying it to 7 developers, who used it for 2 weeks. We recorded a median success rate of 91% and average one of 75%, in automatically creating clusters of untangled fine-grained code changes.
Martin Dias, Alberto Bacchelli, Georgios Gousios, Damien Cassou, Stéphane Ducasse
SANER4
2015 Enabling high-level application development for the Internet of Things
Pankesh Patel, Damien Cassou
J. Syst. Softw.2
2014 DiaSuite: A tool suite to develop Sense/Compute/Control applications
Benjamin Bertran, Julien Bruneau 0001, Damien Cassou, Nicolas Loriant, Emilie Balland, Charles Consel
Sci. Comput. Program.3
2012 CoExist: overcoming aversion to change
abstract
Programmers make many changes to the program to eventually find a good solution for a given task. In this course of change, every intermediate development state can of value, when, for example, a promising ideas suddenly turn out inappropriate or the interplay of objects turns out more complex than initially expected before making changes. Programmers would benefit from tool support that provides immediate access to source code and run-time of previous development states of interest. We present IDE extensions, implemented for Squeak/Smalltalk, to preserve, retrieve, and work with this information. With such tool support, programmers can work without worries because they can rely on tools that help them with whatever their explorations will reveal. They no longer have to follow certain best practices only to avoid undesired consequences of hanging code.
Bastian Steinert, Damien Cassou, Robert Hirschfeld
DLS2
2012 Toward a Tool-Based Development Methodology for Pervasive Computing Applications
abstract
Despite much progress, developing a pervasive computing application remains a challenge because of a lack of conceptual frameworks and supporting tools. This challenge involves coping with heterogeneous devices, overcoming the intricacies of distributed systems technologies, working out an architecture for the application, encoding it in a program, writing specific code to test the application, and finally deploying it. This paper presents a design language and a tool suite covering the development life-cycle of a pervasive computing application. The design language allows us to define a taxonomy of area-specific building-blocks, abstracting over their heterogeneity. This language also includes a layer to define the architecture of an application, following an architectural pattern commonly used in the pervasive computing domain. Our underlying methodology assigns roles to the stakeholders, providing separation of concerns. Our tool suite includes a compiler that takes design artifacts written in our language as input and generates a programming framework that supports the subsequent development stages, namely, implementation, testing, and deployment. Our methodology has been applied on a wide spectrum of areas. Based on these experiments, we assess our approach through three criteria: expressiveness, usability, and productivity.
Damien Cassou, Julien Bruneau 0001, Charles Consel, Emilie Balland
IEEE Trans. Software Eng.1
2011 Leveraging software architectures to guide and verify the development of sense/compute/control applications
abstract
A software architecture describes the structure of a computing system by specifying software components and their interactions. Mapping a software architecture to an implementation is a well known challenge. A key element of this mapping is the architecture's description of the data and control-flow interactions between components. The characterization of these interactions can be rather abstract or very concrete, providing more or less implementation guidance, programming support, and static verification.
Damien Cassou, Emilie Balland, Charles Consel, Julia Lawall
ICSE1
2009 A generative programming approach to developing pervasive computing systems
abstract
Developing pervasive computing applications is a difficult task because it requires to deal with a wide range of issues: heterogeneous devices, entity distribution, entity coordination, low-level hardware knowledge. . . Besides requiring various areas of expertise, programming such applications involves writing a lot of administrative code to glue technologies together and to interface with both hardware and software components.
Damien Cassou, Benjamin Bertran, Nicolas Loriant, Charles Consel
GPCE1
2009 Traits at work: The design of a new trait-based stream library
Damien Cassou, Stéphane Ducasse, Roel Wuyts
Comput. Lang. Syst. Struct.1