Skip to content

Commit b5e51a7

Browse files
sofiaoreisclaude
andcommitted
news: add EASE'23, EASE'26 replication study, MSR'22 papers + collapsible list
- Add EASE'26 large-scale replication study of our EASE'23 work (arXiv) - Add EASE'23 "Are security commit messages informative? Not enough!" (local PDF) - Add original MSR'22 SECOM paper (Oct 2022) - Collapse Latest News to 3 items with a Show more/less toggle Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 2d37d33 commit b5e51a7

2 files changed

Lines changed: 44 additions & 4 deletions

File tree

public/EASE_23.pdf

529 KB
Binary file not shown.

src/components/NewsSection.tsx

Lines changed: 44 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,7 @@
1-
import { FiAward, FiHeadphones, FiStar, FiThumbsUp } from 'react-icons/fi';
1+
import { useState } from 'react';
2+
import { FiAward, FiChevronDown, FiChevronUp, FiHeadphones, FiStar, FiThumbsUp } from 'react-icons/fi';
3+
4+
const COLLAPSED_COUNT = 3;
25

36
type NewsItem = {
47
icon: React.ReactNode;
@@ -7,6 +10,11 @@ type NewsItem = {
710
};
811

912
const newsItems: NewsItem[] = [
13+
{
14+
icon: <FiStar size={20} className="text-primary" />,
15+
text: <>Our EASE'23 study replicated at scale in "On the Informativeness of Security Commit Messages: A Large-scale Replication Study", published at <a href="https://arxiv.org/abs/2604.20461" target="_blank">EASE'26</a>. <a href="https://arxiv.org/pdf/2604.20461" target="_blank">Paper</a></>,
16+
date: "June 2026"
17+
},
1018
{
1119
icon: <FiStar size={20} className="text-primary" />,
1220
text: <>NER-based work on Interpretable Vulnerability Reports published at <a href="https://claudiarmamede.github.io/publications/ase-25/" target="_blank">ASE'25</a>. <a href="https://claudiarmamede.github.io/assets/pdf/ase25.pdf" target="_blank">Paper</a></>,
@@ -17,11 +25,21 @@ const newsItems: NewsItem[] = [
1725
text: <>SECOM published at <a href="https://2025.msrconf.org/details/msr-2025-technical-papers/47/Towards-Security-Commit-Message-Standardization" target="_blank">MSR'25</a> - Research Track. <a href="/msr25_slides.pdf" target="_blank">Slides</a>, <a href="/MSR_25.pdf" target="_blank">Paper</a></>,
1826
date: "May 2025"
1927
},
28+
{
29+
icon: <FiStar size={20} className="text-primary" />,
30+
text: <>"Are security commit messages informative? Not enough!" published at <a href="https://doi.org/10.1145/3593434.3593481" target="_blank">EASE'23</a>. <a href="/EASE_23.pdf" target="_blank">Paper</a></>,
31+
date: "June 2023"
32+
},
2033
{
2134
icon: <FiThumbsUp size={20} className="text-primary" />,
2235
text: <>Released <a href="https://security-commits.org/secomlint/#/">SECOMlint</a>: A compliance checker for the SECOM convention!</>,
2336
date: "May 2023"
2437
},
38+
{
39+
icon: <FiStar size={20} className="text-primary" />,
40+
text: <>"SECOM: Towards a Convention for Security Commit Messages" published at <a href="https://conf.researchr.org/home/msr-2022" target="_blank">MSR'22</a> - Industry Track. <a href="https://dl.acm.org/doi/10.1145/3524842.3528513" target="_blank">Paper</a></>,
41+
date: "October 2022"
42+
},
2543
{
2644
icon: <FiAward size={20} className="text-primary" />,
2745
text: <>SECOM has been selected for the <a href="https://conf.researchr.org/track/msr-2022/msr-2022-foss-award?#Recipients" target="_blank">FOSS Award</a> at MSR'22.</>,
@@ -35,6 +53,10 @@ const newsItems: NewsItem[] = [
3553
];
3654

3755
const NewsSection = () => {
56+
const [expanded, setExpanded] = useState(false);
57+
const canCollapse = newsItems.length > COLLAPSED_COUNT;
58+
const visibleItems = expanded ? newsItems : newsItems.slice(0, COLLAPSED_COUNT);
59+
3860
return (
3961
<section id="news" className="py-16 bg-white">
4062
<div className="container mx-auto px-4">
@@ -47,9 +69,9 @@ const NewsSection = () => {
4769

4870
<div className="max-w-4xl mx-auto">
4971
<div className="space-y-6">
50-
{newsItems.map((item, index) => (
51-
<div
52-
key={index}
72+
{visibleItems.map((item, index) => (
73+
<div
74+
key={index}
5375
className="bg-background rounded-lg shadow-sm p-4 border flex items-start gap-4 transition-all hover:shadow-md"
5476
>
5577
<div className="mt-1 flex-shrink-0">
@@ -62,6 +84,24 @@ const NewsSection = () => {
6284
</div>
6385
))}
6486
</div>
87+
88+
{canCollapse && (
89+
<div className="mt-8 text-center">
90+
<button
91+
type="button"
92+
onClick={() => setExpanded((prev) => !prev)}
93+
className="inline-flex items-center gap-2 rounded-lg border bg-background px-4 py-2 text-sm font-medium text-foreground shadow-sm transition-all hover:shadow-md hover:text-primary"
94+
aria-expanded={expanded}
95+
aria-controls="news"
96+
>
97+
{expanded ? (
98+
<>Show less <FiChevronUp size={16} /></>
99+
) : (
100+
<>Show more ({newsItems.length - COLLAPSED_COUNT} more) <FiChevronDown size={16} /></>
101+
)}
102+
</button>
103+
</div>
104+
)}
65105
</div>
66106
</div>
67107
</section>

0 commit comments

Comments
 (0)