Patrice Chalin

dblp:c/PatriceChalin · DBLP profile ↗
← Back
17ranked-venue papers
8as first author
0since 2021 · last 2013
0000-0002-9399-3528ORCID · corroborated

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

Software engineering, systems software and programming languages · 14 · 7 first-authorTheory of computation · 4 · 2 first-authorArtificial intelligence and machine learning · 1

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
4 papers
Program verification · 43% Requirements engineering and software design · 24% Compilers and program optimization · 16%
Human-computer interaction and pervasive computing
1 paper
User interface design and tools · 100%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Embedded and real-time systems · 100%

Topics — the 10 heaviest of 12, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Program verification › program logic
assertion semantics
0.222010
Engineering a Sound Assertion Semantics for the Verifying Compiler · IEEE Trans. Software Eng. 2010
A Sound Assertion Semantics for the Dependable Systems Evolution Verifying Compiler · ICSE 2007
Compilers and program optimization
verified compilation
0.222010
Engineering a Sound Assertion Semantics for the Verifying Compiler · IEEE Trans. Software Eng. 2010
A Sound Assertion Semantics for the Dependable Systems Evolution Verifying Compiler · ICSE 2007
Program verification
contract verification
0.212013
Explicating symbolic execution (xSymExe): an evidence-based verification framework · ICSE 2013
Requirements engineering and software design › specification
software contracts
0.212013
Explicating symbolic execution (xSymExe): an evidence-based verification framework · ICSE 2013
Program analysis
symbolic execution
0.212013
Explicating symbolic execution (xSymExe): an evidence-based verification framework · ICSE 2013
Requirements engineering and software design
requirements analysis
0.112010
Engineering a Sound Assertion Semantics for the Verifying Compiler · IEEE Trans. Software Eng. 2010
Program verification › dynamic verification
runtime assertion checking
0.112008
JML Runtime Assertion Checking: Improved Error Reporting and Efficiency Using Strong Validity · FM 2008
Embedded and real-time systems › critical systems
safety-critical systems
0.012013
Explicating symbolic execution (xSymExe): an evidence-based verification framework · ICSE 2013
Programming languages and type systems
specification language
0.012008
JML Runtime Assertion Checking: Improved Error Reporting and Efficiency Using Strong Validity · FM 2008
Software testing › fault detection
specification violation detection
0.012007
A Sound Assertion Semantics for the Dependable Systems Evolution Verifying Compiler · ICSE 2007

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

under-approximation · 0.3symbolic execution · 0.3over-approximation · 0.3formal verification · 0.2theorem proving · 0.1program proving · 0.1
YearPublicationVenuePosition
2013 Explicating symbolic execution (xSymExe): an evidence-based verification framework
abstract
Previous applications of symbolic execution (Sym-Exe) have focused on bug-finding and test-case generation. However, SymExe has the potential to significantly improve usability and automation when applied to verification of software contracts in safety-critical systems. Due to the lack of support for processing software contracts and ad hoc approaches for introducing a variety of over/under-approximations and optimizations, most SymExe implementations cannot precisely characterize the verification status of contracts. Moreover, these tools do not provide explicit justifications for their conclusions, and thus they are not aligned with trends toward evidence-based verification and certification. We introduce the concept of explicating symbolic execution (xSymExe) that builds on a strong semantic foundation, supports full verification of rich software contracts, explicitly tracks where over/under-approximations are introduced or avoided, precisely characterizes the verification status of each contractual claim, and associates each claim with explications for its reported verification status. We report on case studies in the use of Bakar Kiasan, our open source xSymExe tool for Spark Ada.
John Hatcliff, Robby, Patrice Chalin, Jason Belt
ICSE3
2013 Use case and task models: An integrated development methodology and its formal foundation
abstract
User Interface (UI) development methods are poorly integrated with standard software engineering practice. The differences in terms of artifacts involved, development philosophies, and lifecycles can often result in inconsistent system and UI specifications leading to duplication of effort and increased maintenance costs. To address such shortcomings, we propose an integrated development methodology for use case and task models. Use cases are generally used to capture functional requirements whereas task models specify the detailed user interactions with the UI. Our methodology can assist practitioners in developing software processes which allow these two kinds of artifacts to be developed in a codependent and integrated manner. We present our methodology, describe its semantic foundations along with a set of formal conformance relations, and introduce an automated verification tool.
Daniel Sinnig, Patrice Chalin, Ferhat Khendek
ACM Trans. Softw. Eng. Methodol.2
2011 Table-Driven Detection and Resolution of Operation-Based Merge Conflicts with Mirador
Stephen C. Barrett, Patrice Chalin, Gregory Butler
ECMFA2
2011 Partial order semantics for use case and task models
abstract
Abstract Use case models are the specification medium of choice for functional requirements, while task models are employed to capture User Interface (UI) requirements and design information. In current practice, both entities are treated independently and are often developed by different teams, which have their own philosophies and lifecycles. This lack of integration is problematic and often results in inconsistent functional and UI design specifications causing duplication of effort while increasing the maintenance overhead. To address these shortcomings, we propose a formal semantic framework for the integrated development of use case and task models. The semantic mapping is defined in a two step manner from a particular use case or task model notation to the common semantic domain of sets of partially ordered sets . This two-step mapping results in a semantic framework that can be more easily reused and extended. The intermediate semantic domains have been carefully chosen by taking into consideration the intrinsic characteristics of use case and task models. As a concrete example, we provide a semantics for our own DSRG use case formalism and an extended version of ConcurTaskTrees, one of the most popular task model notations. Furthermore, we use the common semantic model to formally define a set of refinement relations for use case and task models.
Daniel Sinnig, Ferhat Khendek, Patrice Chalin
Formal Aspects Comput.3
2010 A Formal Model for Generating Integrated Functional and User Interface Test Cases
abstract
Black box testing focuses on the core functionality of the system, while user interface testing is concerned with details of user interactions. Functional and user interface test cases are usually generated from two distinct system models, one for the functionality and one for the user interface. As a result, test cases derived from either model capture only partial system behavior and as such, are inadequate for testing full system behavior. We propose a method for formally integrating the model for the system functionality and the model for the user interface. The resulting composite model is then used to generate more complete test cases, capturing detailed user interactions as well as secondary system interactions. In this paper we employ use cases for modeling system functionality, and task models for describing user interfaces.
Daniel Sinnig, Ferhat Khendek, Patrice Chalin
ICST3
2010 Faster and More Complete Extended Static Checking for the Java Modeling Language
Perry R. James, Patrice Chalin
J. Autom. Reason.2
2010 Towards an industrial grade IVE for Java and next generation research platform for JML
Patrice Chalin, Robby, Perry R. James, Jooyong Yi, George Karabotsos
Int. J. Softw. Tools Technol. Transf.1
2010 Engineering a Sound Assertion Semantics for the Verifying Compiler
abstract
The Verifying Compiler (VC) project is a core component of the Dependable Systems Evolution Grand Challenge. The VC offers the promise of automatically proving that a program or component is correct, where correctness is defined by program assertions. While several VC prototypes exist, all adopt a semantics for assertions that is unsound. This paper presents a consolidation of VC requirements analysis (RA) activities that, in particular, brought us to ask targeted VC customers what kind of semantics they wanted. Taking into account both practitioners' needs and current technological factors, we offer recovery of soundness through an adjusted definition of assertion validity that matches user expectations and can be implemented practically using current prover technology. For decades, there have been debates concerning the most appropriate semantics for program assertions. Our contribution here is unique in that we have applied fundamental software engineering techniques by asking primary stakeholders what they want and, based on this, proposed a means of efficiently realizing the semantics stakeholders want using standard tools and techniques. We describe how support for the new semantics has been added to ESC/Java2, one of the most fully developed VC prototypes. Case studies demonstrate the effectiveness of the new semantics at uncovering previously indiscernible specification errors.
Patrice Chalin
IEEE Trans. Software Eng.1
2009 Preliminary design of a unified JML representation and software infrastructure
abstract
As a Behavioral Interface Specification Language (BISL) for Java, the Java Modeling Language (JML) is tightly coupled to the base language it enhances. Up until Java 1.4, JML kept apace with the evolution of its base language. Java 5 and subsequent revisions have yet to be fully supported by JML tools. Recent efforts such as JML4 have been addressing this issue by providing an Eclipse-based tooling infrastructure. In its current form, JML4 has a fairly steep learning curve for developers wishing to contribute to or extend it. To address this issue and bring JML tools one step closer to a desired plug-in model, we propose a JML Intermediate Representation (JIR) and supporting software infrastructure for JML front-ends and back-ends.
Robby, Patrice Chalin
FTfJP@ECOOP2
2009 Adjusted Verification Rules for Loops Are More Complete and Give Better Diagnostics for Less
abstract
Interval temporal logics are based on interval structures over linearly (or partially) ordered domains, where time intervals, rather than time instants, are the primitive ontological entities. In this paper we introduce and study Right Propositional Neighborhood Logic over natural numbers with integer constraints for interval lengths, which is a propositional interval temporal logic featuring a modality for the `right neighborhood' relation between intervals and explicit integer constraints for interval lengths. We prove that it has the bounded model property with respect to ultimately periodic models and is therefore decidable. In addition, we provide an EXPSPACE procedure for satisfiability checking and we prove EXPSPACE-hardness by a reduction from the exponential corridor tiling problem.
Patrice Chalin
SEFM1
2009 Merging of Use Case Models: Semantic Foundations
abstract
Use case models are the artifact of choice for capturing functional requirements. This typically collaborative activity makes merging a necessity. Use cases however, are often neglected when it comes to model merging, since they are commonly treated as text only items. By defining a formal syntax and semantics for use case models, manipulated within a generic metamodel for operation-based merging, we show how use case models can be effectively merged. This formal foundation allows for the modeling of use cases; defining meaningful change operations on them; and for detecting modeling inconsistencies, inconformities, and conflicts. Several practical examples validate the concepts presented: existing and planned tool support is introduced.
Stephen C. Barrett, Daniel Sinnig, Patrice Chalin, Gregory Butler
TASE3
2008 JML Runtime Assertion Checking: Improved Error Reporting and Efficiency Using Strong Validity
Patrice Chalin, Frédéric Rioux
FM1
2007 Non-null References by Default in Java: Alleviating the Nullity Annotation Burden
Patrice Chalin, Perry R. James
ECOOP1
2007 A Sound Assertion Semantics for the Dependable Systems Evolution Verifying Compiler
abstract
The verifying compiler (VC) project is a core component of the dependable systems evolution grand challenge. The VC offers the promise of automatically proving that a program or component is correct, where correctness is defined by program assertions. While several VC prototypes exist, all adopt a semantics for assertions that is unsound. This paper presents a consolidation of VC requirements analysis activities that, in particular, brought us to ask targeted VC customers what kind of semantics they wanted. Taking into account both practitioners' needs and current technological factors, we offer recovery of soundness through an adjusted definition of assertion validity that matches user expectations and can be implemented practically using current prover technology. We describe how support for the new semantics has been added to ESC/Java2. Preliminary results demonstrate the effectiveness of the new semantics at uncovering previously indiscernible specification errors.
Patrice Chalin
ICSE1
2007 Common Semantics for Use Cases and Task Models
Daniel Sinnig, Patrice Chalin, Ferhat Khendek
IFM2
2007 Are the Logical Foundations of Verifying Compiler Prototypes Matching user Expectations?
abstract
Abstract The verifying compiler (VC) project proposals suggest that mainstream software developers are its targeted end-users. Like other software engineering efforts, the VC project success depends on appropriate end-user consultation. Industrial use of program assertions for the purpose of run-time assertion checking (RAC) is becoming commonplace. A likely next step on the path to VC adoption is the use of assertions in extended static checking (ESC), a fully automated form of static program verification (SPV). Unfortunately, all current VC prototypes supporting SPV, adopt a semantics which is unsound relative to the standard run-time interpretation of assertions. In this article, we report on the results of a survey in which we asked industrial developers what logical semantics they want program assertions to have, and whether consistency across RAC and SPV tools is important. Survey results indicate that developers are in favor of a semantics for assertions that is compatible with their current use in RAC.
Patrice Chalin
Formal Aspects Comput.1
2005 Logical Foundations of Program Assertions: What do Practitioners Want?
abstract
Industrial use of program assertions for the purpose of run-time assertion checking (RAC) is becoming commonplace. A likely next step in the use of assertions is extended static checking (ESC), an area of active research that promises added benefits to industry. Unfortunately, RAC and ESC tools are not consistent in their interpretation of assertions containing undefined terms. In this paper, we report on the results of a survey in which we asked industrial developers what logical semantics they want program assertions to have, and whether consistency across tools is important. Survey results indicate that developers are in favor of a semantics for assertions that is compatible with their current use in RAC.
Patrice Chalin
SEFM1