Xavier Devroey

88 papers A* 4A 7B 6Journal 27Unranked 36
YearRankTypeTitle / Venue / Authors
2026 conf
HICSS
Guillaume Nguyen, Antoine Sacré, Anthony Simonofski, Xavier Devroey
2026 J jnl
CoRR
Lucas Berg, Lukas Krodinger, Stephan Lukasczyk, Annibale Panichella, Gordon Fraser, Wim Vanhoof, Xavier Devroey
2025 A conf
MSR
Alix Decrop, Sara Eraso, Xavier Devroey, Gilles Perrouin
2025 conf
CAiSE Forum
Guillaume Nguyen, Xavier Devroey
2025 conf
SIGSOFT FSE Companion
Jérôme Maquoi, Maxime Cauz, Benoît Vanderose, Xavier Devroey
2025 A* conf
ASE
Anaé De Baets, Guillaume Nguyen, Xavier Devroey, Fabian Gilson
2025 A conf
ICST
Gabriel Benoit, François Georis, Géry Debongnie, Benoît Vanderose, Xavier Devroey
2025 ed.
BENEVOL
Gilles Perrouin, Benoît Vanderose, Xavier Devroey
2025 conf
ICSTW
Manon Galloy, Martin Balfroid, Benoît Vanderose, Xavier Devroey
2025 J jnl
CoRR
Miikka Kuutila, Paul Ralph, Huilian Sophie Qiu, Ronnie de Souza Santos, Morakot Choetkiertikul, Amin Milani Fard, Rana Alkadhi, Xavier Devroey, Gregorio Robles, Hideaki Hata, Sebastian Baltes, Hera Arif, Vladimir Kovalenko, Shalini Chakraborty, Eray Tuzun, Gianisa Adisaputri
2025 J jnl
CoRR
Miikka Kuutila, Paul Ralph, Huilian Sophie Qiu, Ronnie de Souza Santos, Morakot Choetkiertikul, Amin Milani Fard, Rana Alkadhi, Xavier Devroey, Gregorio Robles, Hideaki Hata, Sebastian Baltes, Vladimir Kovalenko, Shalini Chakraborty, Eray Tuzun, Hera Arif, Gianisa Adisaputri, Kelly Garcés, Anielle S. L. Andrade, Eyram Amedzor, Bimpe Ayoola, Keisha Gaspard-Chickoree, Arazoo Hoseyni
2025 conf
CHASE@ICSE
Tobias Jetzen, Xavier Devroey, Nicolas Matton, Benoît Vanderose
2024 conf
TechDebt@ICSE
Nicolas Riquet, Xavier Devroey, Benoît Vanderose
2024 conf
EICS (Companion)
Thibaut Septon, Santiago Villarreal-Narvaez, Xavier Devroey, Bruno Dumas
2024 J jnl
CoRR
Guillaume Nguyen, Manon Knockaert, Michael Lognoul, Xavier Devroey
2024 conf
VaMoS
Sophie Fortz, Paul Temple, Xavier Devroey, Gilles Perrouin
2024 conf
NLBSE@ICSE
Martin Balfroid, Benoît Vanderose, Xavier Devroey
2024 J jnl
CoRR
Tobias Jetzen, Xavier Devroey, Nicolas Matton, Benoît Vanderose
2024 J jnl
Empir. Softw. Eng.
Sophie Fortz, Paul Temple, Xavier Devroey, Patrick Heymans, Gilles Perrouin
2024 J jnl
CoRR
Alix Decrop, Gilles Perrouin, Mike Papadakis, Xavier Devroey, Pierre-Yves Schobbens
2023 conf
ICSTW
Martin Balfroid, Pierre Luycx, Benoît Vanderose, Xavier Devroey
2023 J jnl
IEEE Trans. Software Eng.
Pouria Derakhshanfar, Xavier Devroey, Annibale Panichella, Andy Zaidman, Arie van Deursen
2023 J jnl
Softw. Test. Verification Reliab.
Xavier Devroey, Alessio Gambi, Juan Pablo Galeotti, René Just, Fitsum Meshesha Kifetew, Annibale Panichella, Sebastiano Panichella
2023 ed.
SPLC (B)
Paolo Arcaini, Maurice H. ter Beek, Gilles Perrouin, Iris Reinhartz-Berger, Ivan Machado, Silvia Regina Vergilio, Rick Rabiser, Tao Yue, Xavier Devroey, Mónica Pinto, Hironori Washizaki
2022 J jnl
CoRR
Pouria Derakhshanfar, Xavier Devroey, Andy Zaidman
2022 conf
SBST@ICSE
Pouria Derakhshanfar, Xavier Devroey
2022 J jnl
Empir. Softw. Eng.
Pouria Derakhshanfar, Xavier Devroey, Andy Zaidman
2022 A conf
MSR
Nicolas Riquet, Xavier Devroey, Benoît Vanderose
2022 ed.
SPLC (A)
Alexander Felfernig, Lidia Fuentes, Jane Cleland-Huang, Wesley K. G. Assunção, Andreas A. Falkner, Maider Azanza, Miguel Á. Rodríguez Luaces, Megha Bhushan, Laura Semini, Xavier Devroey, Cláudia Maria Lima Werner, Christoph Seidl, Viet-Man Le, José Miguel Horcas
2022 conf
EASEAI@ESEC/SIGSOFT FSE
Pierre Ortegat, Benoît Vanderose, Xavier Devroey
2022 ed.
VaMoS
Paolo Arcaini, Xavier Devroey, Alessandro Fantechi
2021 conf
EASEAI@ESEC/SIGSOFT FSE
Xavier Devroey, Moussa Amrani, Benoît Vanderose
2021 J jnl
CoRR
Xavier Devroey, Alessio Gambi, Juan Pablo Galeotti, René Just, Fitsum Meshesha Kifetew, Annibale Panichella, Sebastiano Panichella
2021 J jnl
ACM SIGSOFT Softw. Eng. Notes
Benoît Vanderose, Julie Henry, Benoît Frénay, Xavier Devroey
2021 B ed.
SSBSE
Una-May O'Reilly, Xavier Devroey
2021 A conf
ICST
Pouria Derakhshanfar, Xavier Devroey, Gilles Perrouin, Andy Zaidman, Arie van Deursen
2021 conf
MaLTeSQuE@ESEC/SIGSOFT FSE
Sophie Fortz, Paul Temple, Xavier Devroey, Patrick Heymans, Gilles Perrouin
2020 J jnl
Empir. Softw. Eng.
Mozhan Soltani, Pouria Derakhshanfar, Xavier Devroey, Arie van Deursen
2020 B conf
SSBSE
Mitchell Olsthoorn, Pouria Derakhshanfar, Xavier Devroey
2020 A* conf
ASE
Pouria Derakhshanfar, Xavier Devroey, Annibale Panichella, Andy Zaidman, Arie van Deursen
2020 B conf
SSBSE
Björn Evers, Pouria Derakhshanfar, Xavier Devroey, Andy Zaidman
2020 conf
BENEVOL
Boris Cherry, Xavier Devroey, Pouria Derakhshanfar, Benoît Vanderose
2020 conf
GECCO Companion
Pouria Derakhshanfar, Xavier Devroey, Andy Zaidman, Arie van Deursen, Annibale Panichella
2020 A* conf
ASE
Pouria Derakhshanfar, Xavier Devroey, Andy Zaidman, Arie van Deursen, Annibale Panichella
2020 B conf
SSBSE
Pouria Derakhshanfar, Xavier Devroey, Andy Zaidman
2020 conf
ICSE (Workshops)
Xavier Devroey, Sebastiano Panichella, Alessio Gambi
2020 J jnl
ACM SIGSOFT Softw. Eng. Notes
Francesca Arcelli Fontana, Gilles Perrouin, Apostolos Ampatzoglou, Mathieu Acher, Bartosz Walter, Maxime Cordy, Fabio Palomba, Xavier Devroey
2020 J jnl
CoRR
Paul Ralph, Sebastian Baltes, Gianisa Adisaputri, Richard Torkar, Vladimir Kovalenko, Marcos Kalinowski, Nicole Novielli, Shin Yoo, Xavier Devroey, Xin Tan, Minghui Zhou, Burak Turhan, Rashina Hoda, Hideaki Hata, Gregorio Robles, Amin Milani Fard, Rana Alkadhi
2020 J jnl
Empir. Softw. Eng.
Paul Ralph, Sebastian Baltes, Gianisa Adisaputri, Richard Torkar, Vladimir Kovalenko, Marcos Kalinowski, Nicole Novielli, Shin Yoo, Xavier Devroey, Xin Tan, Minghui Zhou, Burak Turhan, Rashina Hoda, Hideaki Hata, Gregorio Robles, Amin Milani Fard, Rana Alkadhi
2020 J jnl
ACM SIGSOFT Softw. Eng. Notes
Benoît Vanderose, Benoît Frénay, Julie Henry, Xavier Devroey
2020 J jnl
Softw. Test. Verification Reliab.
Pouria Derakhshanfar, Xavier Devroey, Gilles Perrouin, Andy Zaidman, Arie van Deursen
2020 conf
SPLC (A)
Axel Halin, Alexandre Nuttinck, Mathieu Acher, Xavier Devroey, Gilles Perrouin, Benoit Baudry
2020 J jnl
CoRR
Pouria Derakhshanfar, Xavier Devroey, Annibale Panichella, Andy Zaidman, Arie van Deursen
2019 conf
From Software Engineering to Formal Methods and Tools, and Back
Maxime Cordy, Xavier Devroey, Axel Legay, Gilles Perrouin, Andreas Classen, Patrick Heymans, Pierre-Yves Schobbens, Jean-François Raskin
2019 conf
ICST Workshops
Jeremy Vanhecke, Xavier Devroey, Gilles Perrouin
2019 A conf
ISSTA
Maria Kechagia, Xavier Devroey, Annibale Panichella, Georgios Gousios, Arie van Deursen
2019 conf
SBST@ICSE
Fitsum Meshesha Kifetew, Xavier Devroey, Urko Rueda
2019 ed.
EASEAI@ESEC/SIGSOFT FSE
Benoît Vanderose, Benoît Frénay, Julie Henry, Xavier Devroey
2019 ed.
MaLTeSQuE@ESEC/SIGSOFT FSE
Francesca Arcelli Fontana, Bartosz Walter, Apostolos Ampatzoglou, Fabio Palomba, Gilles Perrouin, Mathieu Acher, Maxime Cordy, Xavier Devroey
2019 J jnl
CoRR
Pouria Derakhshanfar, Xavier Devroey, Gilles Perrouin, Andy Zaidman, Arie van Deursen
2019 J jnl
Empir. Softw. Eng.
Axel Halin, Alexandre Nuttinck, Mathieu Acher, Xavier Devroey, Gilles Perrouin, Benoit Baudry
2019 conf
SBST@ICSE
Urko Rueda, Fitsum Meshesha Kifetew, Xavier Devroey
2019 A conf
ICST
Quentin Plazar, Mathieu Acher, Gilles Perrouin, Xavier Devroey, Maxime Cordy
2018 J jnl
J. Syst. Softw.
Xavier Devroey, Gilles Perrouin, Mike Papadakis, Axel Legay, Pierre-Yves Schobbens, Patrick Heymans
2018 ed.
MASES@ASE
Gilles Perrouin, Mathieu Acher, Maxime Cordy, Xavier Devroey
2018 B conf
SSBSE
Mozhan Soltani, Pouria Derakhshanfar, Annibale Panichella, Xavier Devroey, Andy Zaidman, Arie van Deursen
2017 A conf
ICST
Xavier Devroey, Gilles Perrouin, Mike Papadakis, Axel Legay, Pierre-Yves Schobbens, Patrick Heymans
2017 conf
ICST Workshops
Paolo Arcaini, Xavier Devroey, Shuai Wang
2017 B conf
SOFSEM
Axel Legay, Gilles Perrouin, Xavier Devroey, Maxime Cordy, Pierre-Yves Schobbens, Patrick Heymans
2017 J jnl
Softw. Syst. Model.
Xavier Devroey, Gilles Perrouin, Maxime Cordy, Hamza Samih, Axel Legay, Pierre-Yves Schobbens, Patrick Heymans
2017
Xavier Devroey
2017 J jnl
CoRR
Axel Halin, Alexandre Nuttinck, Mathieu Acher, Xavier Devroey, Gilles Perrouin, Benoit Baudry
2017 conf
SPLC (A)
Gilles Perrouin, Xavier Devroey, Maxime Cordy
2017 conf
ICST Workshops
Thomas Loise, Xavier Devroey, Gilles Perrouin, Mike Papadakis, Patrick Heymans
2017 conf
VaMoS
Axel Halin, Alexandre Nuttinck, Mathieu Acher, Xavier Devroey, Gilles Perrouin, Patrick Heymans
2016 A* conf
ICSE
Xavier Devroey, Gilles Perrouin, Mike Papadakis, Axel Legay, Pierre-Yves Schobbens, Patrick Heymans
2016 conf
VaMoS
Xavier Devroey, Gilles Perrouin, Axel Legay, Pierre-Yves Schobbens, Patrick Heymans
2015 conf
VaMoS
Xavier Devroey, Gilles Perrouin, Axel Legay, Pierre-Yves Schobbens, Patrick Heymans
2015 conf
ICSE (2)
Xavier Devroey, Gilles Perrouin, Pierre-Yves Schobbens, Patrick Heymans
2015 conf
ICST Workshops
Xavier Devroey, Maxime Cordy, Pierre-Yves Schobbens, Axel Legay, Patrick Heymans
2014 conf
SIGSOFT FSE
Xavier Devroey, Gilles Perrouin, Maxime Cordy, Mike Papadakis, Axel Legay, Pierre-Yves Schobbens
2014 conf
SPLC Workshops
Xavier Devroey, Gilles Perrouin, Pierre-Yves Schobbens
2014 conf
ISoLA (1)
Xavier Devroey, Gilles Perrouin, Axel Legay, Maxime Cordy, Pierre-Yves Schobbens, Patrick Heymans
2014 J jnl
CoRR
Xavier Devroey, Gilles Perrouin, Maxime Cordy, Axel Legay, Pierre-Yves Schobbens, Patrick Heymans
2014 conf
VaMoS
Xavier Devroey, Gilles Perrouin, Maxime Cordy, Pierre-Yves Schobbens, Axel Legay, Patrick Heymans
2013 J jnl
CoRR
Xavier Devroey, Maxime Cordy, Gilles Perrouin, Pierre-Yves Schobbens, Axel Legay, Patrick Heymans
2012 conf
ISoLA (1)
Xavier Devroey, Maxime Cordy, Gilles Perrouin, Eun-Young Kang, Pierre-Yves Schobbens, Patrick Heymans, Axel Legay, Benoit Baudry
2011 conf
INFORSID
Christophe Ponsard, Xavier Devroey
docs/macho_extractors_README.md
← Index docs/macho_extractors_README.md markdown
# MachO Extractors for RedB

This document describes the MachO extractors implementation for the RedB binary analysis framework.

## Overview

The MachO extractors provide comprehensive analysis capabilities for Mach-O binaries (macOS, iOS, watchOS, tvOS executables) following the same pattern as the existing PE extractors. The implementation uses the `machofile` library located in the `docs/` folder.

## Architecture

### Main Components

1. **MachOExtractor** (`redb/extractors/macho_extractor.py`)
   - Abstract base class for all MachO extractors
   - Handles MachO file parsing and common functionality
   - Supports both single-architecture and Universal/FAT binaries

2. **Individual Extractors** (`redb/extractors/macho_extractors/`)
   - `macho_features.py` - Basic MachO header and metadata
   - `macho_segments.py` - Segment information and analysis
   - `macho_imports.py` - Imported functions and libraries
   - `macho_exports.py` - Exported symbols
   - `macho_dylibs.py` - Dynamic library dependencies
   - `macho_signature.py` - Code signing information

3. **Data Models** (`redb/models/dataclasses.py`)
   - MachO-specific dataclasses for structured data storage
   - Compatible with Elasticsearch and ClickHouse exporters

## Features

### Supported Binary Types
- Single-architecture Mach-O binaries (32-bit and 64-bit)
- Universal/FAT binaries with multiple architectures
- All major CPU architectures (x86, x86_64, ARM, ARM64)

### Extracted Information

#### MachO Features
- Header information (magic, CPU type, file type, flags)
- Architecture detection
- Entry point information
- UUID
- Version information
- Signing status
- Encryption status
- Counts (segments, dylibs, imports, exports)

#### Segments
- Segment names and properties
- Virtual addresses and sizes
- File offsets and sizes
- Protection flags
- Entropy calculation
- Segment hashes (MD5, SHA256)

#### Imports
- Imported function names
- Library dependencies
- Import counts and statistics

#### Exports
- Exported symbol names
- Export counts and statistics

#### Dynamic Libraries
- Dylib names and paths
- Version information
- Timestamps
- Load command types

#### Code Signing
- Signing status
- Certificate information
- Entitlements
- Code directory details

## Usage

### Basic Usage

```python
from redb.extractors.macho_extractors import MachOFeaturesExtractor

# Create extractor
extractor = MachOFeaturesExtractor(
    filepath="/path/to/macho/binary",
    log=logger
)

# Extract data
features = extractor.extract()

# Export to databases
extractor.export_data()
```

### Testing

Use the provided test script to verify functionality:

```bash
python test_macho_extractors.py /path/to/macho/binary
```

## Implementation Details

### Universal Binary Support

The extractors handle Universal/FAT binaries by:
1. Detecting FAT binary format
2. Extracting individual architectures
3. Providing unified interface for both single and multi-arch binaries
4. Supporting architecture-specific extraction

### Error Handling

- Graceful handling of malformed binaries
- Comprehensive logging for debugging
- Fallback mechanisms for missing data
- Exception handling for corrupted files

### Performance Considerations

- Lazy parsing of MachO structures
- Efficient memory usage for large binaries
- Cached property access for repeated queries
- Optimized data extraction patterns

## Integration

### Database Exporters

The extractors support both Elasticsearch and ClickHouse exporters:

- **Elasticsearch**: JSON document storage with full-text search
- **ClickHouse**: Columnar storage for analytical queries

### Schema Compatibility

All extractors follow the established schema patterns:
- Consistent field naming
- Proper data types
- Timestamp handling
- Hash field inclusion

## Future Enhancements

Potential areas for improvement:

1. **Additional Extractors**
   - MachO resources extraction
   - Symbol table analysis
   - Relocation information
   - Thread state analysis

2. **Enhanced Analysis**
   - Malware detection patterns
   - Behavioral analysis
   - Similarity hashing
   - YARA rule integration

3. **Performance Optimizations**
   - Parallel processing for multi-arch binaries
   - Streaming data processing
   - Memory-mapped file access

## Dependencies

- `machofile` library (included in `docs/`)
- Standard Python libraries (hashlib, datetime, etc.)
- RedB framework components

## Contributing

When adding new MachO extractors:

1. Follow the established pattern in existing extractors
2. Add appropriate dataclasses to `dataclasses.py`
3. Update the enum tags in `enum.py`
4. Include comprehensive error handling
5. Add tests for new functionality
6. Update this documentation

## Troubleshooting

### Common Issues

1. **Import Errors**: Ensure `machofile` library is accessible
2. **Memory Issues**: Large Universal binaries may require significant memory
3. **Corrupted Files**: Malformed MachO files may cause parsing errors
4. **Architecture Mismatch**: Some features may not be available for all architectures

### Debugging

Enable debug logging to see detailed extraction process:

```python
import logging
logging.basicConfig(level=logging.DEBUG)
```

## License

This implementation follows the same license as the main RedB project.